ランレベル0と6は、システムをシャットダウンまたは再起動することを意味します。
コマンドを入力すると、init 0
システムがシャットダウンします。
しかし、私の質問は
- システムがシャットダウンした場合、なぜなら正常にランレベル0に変更されました
- あるいは、現在のランレベルからランレベル0への変更のみをトリガする場合(つまり、システムにランレベル0に行きたいと知らせる場合)、そのランレベルに到達します。後ろに閉鎖?もちろんいいえ、電源が切れると、システムは何もしません。
つまり、システムはランレベル0にありますか?
- しかし、システムがシャットダウンしています(実行からシャットダウンに切り替えている間)。
- 後ろにシステムがダウンしていますか(説明の結果、実行レベルに達できませんでした)?
実行レベル6に関する追加の質問:次のブートのいずれの段階でも、システムは実行レベル6になりますか?
私はLinuxの動作(Unixと違う点がある場合)に興味があります。
答え1
init
init
(クラシックSVR4スタイル、systemd、runitなどを使用するかどうかにかかわらず)ステートマシンとしてコーディングされます。状態を変更するイベントに応答してのみ操作を実行します。電源投入からシャットダウンへのシステム切り替えは、現在の状態から実行レベル0で定義された状態に変更され、再起動終了も同じで、実行レベル6で定義された状態に変更されます(実際には、これら2つの切り替えはカーネルへ最後の呼び出し以外はほぼ同じですinit
。
init
2番目の質問に答えるために、システムは、カーネルが再起動するために呼び出される時点(返されない)から、次の起動中にカーネルが実行を「init」に渡すまで、「ランレベル6」で動作します。