デーモンの起動

Linux では、デーモンの起動/停止/再起動を

  • /etc/init.d
  • /etc/rc.d/init.d

ディレクトリに置かれているサービス制御スクリプトを通して行われている。

Linux が起動するとカーネルがメモリに読み込まれ、init(/sbin/init)というプロセスがシステムの初期化を行う。init はすべてのプロセスの頂点に位置する。プロセスIDは「1」が割り当てられる。

init の設定ファイル

init は /etc/inittab という設定ファイルを基に動作する
/etc/inittab ファイル内でのランレベルの設定

# Default runlevel. The runlevels used are:
#   0 - halt (Do NOT set initdefault to this)
#   1 - Single user mode
#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
#   3 - Full multiuser mode
#   4 - unused
#   5 - X11
#   6 - reboot (Do NOT set initdefault to this)
#
id:3:initdefault:

rc.sysinit(/etc/rc.d/rc.sysinit)

  • ホスト名の設定
  • スワップの有効化
  • カーネルパラメータの初期化
  • カーネルモジュールの読み込み
  • ローカルファイルシステムのマウント

など、ランレベルとは無関係に、Linux起動時に必ず必要となる処理を実行する。

と、この初期化処理を /etc/inittab に記述されていると書かれているのだけれど、どこにも見当たらない。コメントアウトの所に

# System initialization is started by /etc/init/rcS.conf

CentOS6.4では初期化スクリプトの実行は /etc/init/rcS.conf でされているのか。
それとも自分の設定が悪いのかが不明。