2017年1月11日水曜日

Linux initプロセスとrc.dディレクトリ

ランレベル変更時に、initプロセス( uid=0 )により諸々(/etc/inittabに記載されている内容)が実行されます。
inittab には、各ランレベルに対する rc.d ディレクトリ(配下のスクリプト)の実行やキーボード操作の制御等が記載されています。

ランレベルが0のときは /etc/rc0.d 配下のスクリプトを実行 、ランレベルが1のときは rc1.d 配下のスクリプトを実行、等です。
/etc/rcX.d(X は0から6までの数字)配下のスクリプトは、/etc/init.d 配下のスクリプトのシンボリックリンクとなっています。
また、rcX.d 配下のスクリプト(リンク)の名前は、S 又は K 、2桁の数字で始まります。
S は起動するプロセス、K は停止するプロセスを表し、2桁の数字は実行順序(小さい数字→大きい数字 の順)を表しています。
例えば以下が /etc/rc5.d 配下に存在する場合、ランレベルを5に変更した際に、nfsdの停止、httpdとtestdの起動(httpd、testdの順)が実行されます。
  K95nfsd    S80httpd    S99testd

サーバを起動する場合は、/etc/inittab で default に設定されているランレベルでinitプロセスが実行されます。

init コマンドや runlevel コマンドでランレベルを変更することが出来ます。

ご指摘、ご質問などはコメントへお願いします。

0 件のコメント:

コメントを投稿