- ベストアンサー
Linux shutdown/reboot時の動きについて
Linuxにおいて、OSをshutdownまたはrebootすると rcスクリプトが動作したりプロセスがSIGTERMを受信したりしますが、 shutdownコマンド投入から電源断までに、 プロセスがどのような順番、方法で停止するか教えてください。 (1)rcスクリプトによる停止が先か、SIGTERM受信による停止が先か (2)SIGTERMは全プロセスに対して送られるのか (3)rcスクリプト、SIGTERM以外にもプロセスが停止する契機・方法があるか よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
shutdown,reboot,halt などを実行すると /etc/inittab の該当部分のランレベルのスクリプトが動くはずです。 詳しくはman shutdown や、man inittab を参照してください。 ============= /etc/inittab より抜粋 ========================= # ランレベルごとの処理(各ランレベル用のrcスクリプトを実行し、その終了を待つ) l0:0:wait:/etc/rc.d/rc 0 l1:1:wait:/etc/rc.d/rc 1 l2:2:wait:/etc/rc.d/rc 2 l3:3:wait:/etc/rc.d/rc 3 l4:4:wait:/etc/rc.d/rc 4 l5:5:wait:/etc/rc.d/rc 5 l6:6:wait:/etc/rc.d/rc 6 ================================================= なので、 reboot = runlevel 6 = /etc/rc.d/rc 6 halt = runlevel 0 = /etc/rc.d/rc 0 が動くと思います。 なので、どういう順番で停止されるのかを知るには この部分のスクリプトを追っていけばよいかと思います。 うちのSlackwareでは rcスクリプトで停止→killall5 -15→killall5 -9 としていますが、ディストリビューションごとに細かい部分は異なると思います。
その他の回答 (1)
- junkUser
- ベストアンサー率56% (218/384)
ディストリビューションによって異なりますが、Red Hat など RPM 系だと rc6.d 配下が走って順番にデーモンごとに最適なシャットダウン方法で落ちます。 最近の ubuntu はわかりません。
お礼
ご回答、ありがとうございました。
お礼
分かりやすい説明、ありがとうございました。