Linuxデーモンプログラムの自動起動方法

概要

前回は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

一度設定すると、メニューの「システム」-「管理」-「サーバー設定」-「サービス」を選択し、「サービスの設定」画面からも自動機能の設定が行えるようになります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください