TIPS/Linux/boot/ランレベル変更とrc.dの実行

Last-modified: 2007-03-06 (火) 14:17:23

ランレベルがNに変更されると、

  • rc.d/rcN.d/K**....
  • rc.d/rcN.d/S**....

スクリプトがそれぞれ実行される。

例えば、
ランレベルが3に変更になるときは

  • rc.d/rc3.d/K**...
  • rc.d/rc3.d/S**...

が実行される

また、

  • K**...は、数字の小さいscript=>大きいscriptの順に実行
  • S**...は、数字の小さいscript=>大きいscriptの順に実行

される

init処理

initプログラムは以下の順番で実行される。

 /etc/rc.d/rc.sysinitを実行。これは環境パスの設定、スワッピングの開始、ファイルシステムのチェック等を実行。
    ↓↓↓
 /etc/inittabの実行。inittabで指定されたランレベルで実行します。
    ↓↓↓
 /etc/rc.d/rc?.d/(?はランレベル)の直下にあるスクリプトの実行。
 /etc/rc.d/init.d/functionをセットしすべてのバックグラウンドプロセスを実行します。
  たとえばランレベル5であれば/etc/rc.d/rc5.d/にあるスクリプトを実行します。
  スクリプトはSもしくはKから始まるようになっています。
  Kで始まるものは引数にstopを与えて実行され、Sで始まるものは引数startが与えられ実行されます。
  なおS、Kの後ろに2桁の数字が付いており数字の小さいものから実行されます。
  同じ数字がある場合はアルファベット順です。
    ↓↓↓
 /etc/rc.d/rc.localの実行
    ↓↓↓
 /etc/inittabスクリプトはランレベルに割り当てられた各仮想コンソール用に/sbin/mingettyをフォークする。
 ランレベル5では/etc/inittabが/etc/X11/prefdmを実行します。
 prefdmは好きなXwindowManagerをを実行します。
 /etc/sysconfig/desktopの内容に応じてgdm,kdm,xdmのどれかです。
    ↓↓↓
 ログイン画面を表示してboot終了。