Runlevelと起動停止スクリプト
Redhat、DebianとかのSystem V系のディストリの起動・停止スクリプトはRunlevelによって規定されてるのだけど、その話。
すごく今更ながら忘れてたのでメモ。
使い方
/etc/rc.d/init.d/ /etc/init.d/
とかにスクリプトを置いて、ランレベルに応じたsymlinkを張るのが一般的だが、
chkconfig等が使える場合は、chkconfigコマンドによる登録をするといい。主に使うのは
chkconfig --list chkconfig --add hoge chkconfig *** on/off
であると思う。後は、chkconfigを使う場合、スクリプトの書き方さえ気を付けていれば簡単に管理できる。
rc.local
ディストリによってはrc.localを備えているものもあるが、サービスの起動には使わない方が良いと思う。
システム起動時に一回実行する簡単なスクリプト(たとえばntpupdate)に留めておくのが無難じゃないかな。
数字について
小さい順から実行されるということは、
- S90
に対しては
- K10 (100-10)
等が有効であると通常は考えるべきだ。
なぜならば、最後に起動したものから停止していくプロセスが普通だからだ。
たとえば
- S80apache
- S81awstats
とすれば
- K19awstats
- K20apache
という順で閉じる感じになると思う。
※まあawstatsがこんな感じだったかどうかは覚えてないけど。