00:00前回rep2の話でスタートアップとシャットダウン時に行うスクリプトについて書いた今回は/etc/init.d/rcを使わずにやる(正式な?)方法で起動時、終了時のスクリプトを実行してみるまず、Linuxは/etc/inittabの定義に従って、/etc/init.d/rcをランレベルを引数にして実行する。その後、/etc/rc$runlevel.dの中にあるディレクトリを順番に実行する。$runlevelは0~6の数値(たとえばrc1.d,rc2.d,rc3.d,rc4.d,rc5.d,rc6.d)/etc/init.d/rcの中を読めば分かるが、大まかな挙動は以下の通り。1.現在のランレベルと前回のランレベルを取得する。2.現在のランレベルに対応するディレクトリのKで始まるスクリプトを探し、前回のランレベルで実行されているなら(頭文字がSで始まるスクリプトが存在しているのなら)それを止める。3.次に、Sで始まるディレクトリを探し、前回のランレベルで起動していないと判明したらstart、もしくはstopをかける。ちなみに0,6はstopを引数にしてSから始まるスクリプトを順次実行する。実行する順番はSもしくはKから始まる次の2桁の数値の若い順。SとKではKが最初に実行される。