sync; sync; sync; sleep 30; halt
Linuxのシャットダウンや再起動について話すとき、人々が呪文の使用を推奨しているのを見ています。
私はLinuxを始めてから動かしてきました。これはBSD 4.2 / 4.3とSunOSの4日間で推奨される手順でしたが、少なくとも過去10年間はそれをしなければならなかったことを思い出せません。 Linuxのシャットダウン/再起動を数千回行った。
これは、カーネルがシングルユーザーモード(/ tmpなど)でも必要なルートファイルシステムやその他の重要なファイルシステムをアンマウントおよび同期できなかったため、これは時代錯誤であると思われるため、明示的にフラッシュするように指示する必要がありましたディスクにできる限り多くのデータ。
最近では、カーネルソースで関連するコードをまだ見つけることなく(http://lxr.linux.noおよびgoogleを掘り下げて)、カーネルはルートファイルシステムを完全にアンマウントするのに十分スマートであり、ファイルシステムは十分スマートであると思われます通常のshutdown
/ reboot
/の間に自分自身をアンマウントする前に効果的にsync(2)を実行しpoweorff
ます。
これ"sync; sync; sync"
は、ファイルシステムがクリーンにアンマウントされない(物理ディスク障害など)極端な場合、またはシステムが直接リブート(8)を強制するだけでフリーズが解除される状態(負荷が大きすぎるなど)の場合にのみ必要です。シャットダウンコマンドのスケジュールを設定するには、high)。
またsync
、リムーバブルデバイスをアンマウントする前にこの手順を実行することも、問題が発生することもありません。
別の例-Xenでは、DomUにDom0からshutdown
コマンドを送信できます。これは、sync; sync; sync
最初にログインして魔法を入力する必要のない「クリーンシャットダウン」と見なされます。
私は正しいのですか、それとも数千のシステムのシャットダウンに幸運でしたか?