概要
前回はLinuxデーモンプログラムの作成方法と起動方法を記述したが、今回はLinux起動時に自動的に起動させる方法について説記述する。
起動の仕組み
Linuxの自動起動は、各ランレベルに対応したディレクトリに、前回作成したスクリプトのシンボリックリンク作成することで、OSからスクリプトが実行されます。
【ランレベルの意味とシンボリックリンク先のディレクトリ】
|
ランレベル |
意味 |
ディレクトリ |
| 0 | シャットダウン(システムの停止) | /etc/rc.d/rc0.d/ |
| 1 | シングルユーザーモード(rootのみ) | /etc/rc.d/rc1.d/ |
| 2 | ネットワークなしのマルチユーザーモード | /etc/rc.d/rc2.d/ |
| 3 | 通常のマルチユーザーモード (テキストログイン) |
/etc/rc.d/rc3.d/ |
| 4 | 未使用 | /etc/rc.d/rc4.d/ |
| 5 | グラフィカルログインによるマルチユーザーモード | /etc/rc.d/rc5.d/ |
| 6 | システムの再起動 | /etc/rc.d/rc6.d/ |
【シンボリックリンク先の命名ルール】
S+(2ケタの数字)+(サービス名): 実行されるスクリプト
K+(2ケタの数字)+(サービス名): 実行されないスクリプト
どのランレベルで実行されるかは /etc/inittab に記述されます。
たとえば、下記のように記述されている場合、ランレベル5で起動されます。
| id:5:initdefault: |
現在のランレベルを調べるときは、/sbin/runlevel を実行することでわかります。
設定方法
Red Hat系Linuxではchkconfigというコマンドが用意されているので、このコマンドを使用した説明をします。
/etc/inittab の記述から、どのランレベルで起動されるかを調べます。CentOSではデフォルトの状態ではランレベル5で起動されるので、ランレベル5でsampleが起動するように設定します。
| #chkconfig –level 5 sample on |
設定の確認は –list オプションを使用して確認できます。
| #chkconfig –list sample 0:off 1:off 2:off 3:off 4:off 5:on 6:off |
一度設定すると、メニューの「システム」-「管理」-「サーバー設定」-「サービス」を選択し、「サービスの設定」画面からも自動機能の設定が行えるようになります。