• ベストアンサー

Linux shutdown/reboot時の動きについて

Linuxにおいて、OSをshutdownまたはrebootすると rcスクリプトが動作したりプロセスがSIGTERMを受信したりしますが、 shutdownコマンド投入から電源断までに、 プロセスがどのような順番、方法で停止するか教えてください。 (1)rcスクリプトによる停止が先か、SIGTERM受信による停止が先か (2)SIGTERMは全プロセスに対して送られるのか (3)rcスクリプト、SIGTERM以外にもプロセスが停止する契機・方法があるか よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#136147
noname#136147
回答No.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 としていますが、ディストリビューションごとに細かい部分は異なると思います。

aoi411
質問者

お礼

分かりやすい説明、ありがとうございました。

その他の回答 (1)

  • junkUser
  • ベストアンサー率56% (218/384)
回答No.1

ディストリビューションによって異なりますが、Red Hat など RPM 系だと rc6.d 配下が走って順番にデーモンごとに最適なシャットダウン方法で落ちます。 最近の ubuntu はわかりません。

aoi411
質問者

お礼

ご回答、ありがとうございました。

関連するQ&A