システムをシャットダウンする最速の方法はありますか?


20

それともshutdown -h nowそれが得ることができる最速ですか?

シャットダウンの前に行われた多くのことをスキップできるシステムコールまたは類似のものを探します(特に、実行中のプロセスに注意するため)。

initせいぜい-middleware に無知な(systemdまたはのようなupstart)カーネル関連のソリューションが欲しいです。

つまり、cups / apache / pulseaudioなどのすべてのサービスを直接殺すことに関連するリスク。

注:ソリューションはソフトウェアバイスでなければなりません。デバイスでボタンを押すことは私が探しているものではありません。


8
「すなわち、cups / apache / pulseaudioなどのようなすべてのサービスを直接殺すことに関連するリスク。私は気にしません。...」 ->確かですか?複雑なソフトウェアを一貫性のない状態のままにしておくと、次に使用するときに厄介な驚きにつながる可能性があります。たぶん、あまり使わないサービスを無効にすることを検討すべきです(例:カップ、Apache)。それらを使用する場合は、いつでも手動で開始および停止できます。
goldilocks 14年

私が求める方法は、今のところ、人々が私のPCにアクセスできないようにすることです。シャットダウンに遅延があると、誤解が生じます。私はむしろデータを失って公開します。
humanityANDpeace 14年

2
また、訪問この
Pandya

8
アイデアがあります。ただし、いくつかの新しいハードウェアの費用を節約してください。
ジョンWHスミス14年

sudo shutdown -P 0 私はそれを使用して、それはすぐにシャットダウン処理を開始し、アプリが開いているものをどんなに
gkmohit

回答:


30

System Request(SysRq)機能を使用してから、即時をトリガーするよりもずっと速くなりませんreboot

これは、カーネルが理解するキーの組み合わせです。

SysRqを有効にします。

echo 1 > /proc/sys/kernel/sysrq

今、それを再起動に送信します。

echo b > /proc/sysrq-trigger

b -ファイルシステムをアンマウントまたは同期せずに、すぐにシステムを再起動します。

注意:

これはreboot電源が切断されたように動作しますが、推奨されません。

あなたがしたい場合syncumount手の前にファイルシステムは、その後使用します。

echo s > /proc/sysrq-trigger
echo u > /proc/sysrq-trigger

または、単にシステムの電源をオフにする場合:

echo o > /proc/sysrq-trigger

マジックキーの組み合わせ

カーネルによって解釈される使用するキーの組み合わせもあります。

Alt+ SysRq / Print Screen+Command Key

コマンドキー:

R
E-X からキーボードの制御を取り戻します。-すべてのプロセスにSIGTERMを送信し、正常に終了できるようにします。
I-すべてのプロセスにSIGKILLを送信し、それらをすぐに強制終了します。
S-データをディスクにフラッシュします。
U-すべてのファイルシステムを読み取り専用で再マウントします。
B-再起動します。

Magic SysRq Key Wikiからの引用:

マジックSysRqキーの一般的な使用法は、ロックされているLinuxコンピューターを安全に再起動することです。

  1. 押したままAltSysRq(プリントスクリーン)キーを。
  2. これらのダウンを保持しながら、数秒間隔で、順番に次のキーを入力します。REISUBを
  3. コンピューターが再起動するはずです。

これらを覚える方法は次のとおりです。

" R EBOOT E VEN I F S ystem U tterly Bの roken"または単に単語" 忙しい "後方に読み取ります。

参照資料

Magic SysRqキーWiki
Fedora SysRq


11
クリーンなシステムがシャットダウンするのに2秒未満かかる場合があることに注意することが重要です。私が呼ぶときpoweroff、私のアーチのマシン上で、私も...画面上に印刷されているシャットダウンログを見ることができない
ジョン・WHスミス

2番目のエコーの前に、実行する必要がありますsynclinux.about.com/library/cmd/blcmdl8_sync.htm)。これにより、スーパーブロックを含め、バッファーがディスクに確実に書き込まれます。
アルケージュ

bエコーされないことをお勧めしますo。bの方が良いですか?
humanityANDpeace

それはあなたが何を意味するかによります。このbオプションは非常に高速ですが、syncディスクではなく、理想的ではありません。シャットダウン時間を短縮する方法を提供する多くのオプションがあります。panicオプションもあります。Wikiと試行錯誤を読んで、ニーズに最適なものを確認してください。
geedoubleya

ねじ込み式のシステムでecho o /proc/sysrq-triggerは、ハングが発生します。システムはオンのままです。実際、bシステムはなくなっています。それでも、再起動することは、RAMを保持できることを意味します。これはb、システムが最終的にオフになるオプションが欲しい脆弱性です。悲しいことに、これはo私のシステムのオプションでは動作しません。あなたにも@Pandyaへの提案をありがとう
humanityANDpeace

8

厄介なアプローチはshutdown -h -n now

これはクリーンアップを行わないため、ファイルシステムの一貫性が失われたり、データベースが壊れたりする可能性がありますが、システムは非常に高速にシャットダウンします。


1
ありがとうございます、これは面白みに聞こえます:この-nオプションは文書化されており、現在のバージョンのシャットダウンのままですか?
humanityANDpeace 14年

1
はい、それは標準です。カーネルに直接すべてをドロップするよう指示します。このコマンドは通常、通常のシャットダウンが完了した最後のシャットダウンスクリプトから使用されます。
サイモンリヒター14年

7
しかし、プラグを抜くのとほぼ同じであるため、これが悪影響を引き起こす可能性が高いことを十分に強調することはできません。
サイモンリヒター14年

素晴らしくシンプルで効果的。この-nオプションはまさに私が探していたものです。質問にお答えいただきありがとうございます。あなたは質問をして、首ひげがすべてあなたの質問に答えるのではなく間違っている理由を教えてくれるのを聞くのがどれほどイライラするかわかりません。できれば、この答えを50回支持します。ありがとうございました。
ジョシュアペック

4

一部のディストリビューションpoweroffでは、より簡単なコマンドを提供していますshutdown

以下で使用:

poweroff -f

ディスク同期を実行してから電源を切ります。これは、ファイルシステムが破損しないようにするために最小限のシャットダウンを実行しながら、はるかに高速になることの間の良い妥協点です。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.