Trance Shift 7 - Notes

現Trance Shift 8.0の前バージョンのログ

Runlevelと起動停止スクリプト

RedhatDebianとかのSystem V系のディストリの起動・停止スクリプトはRunlevelによって規定されてるのだけど、その話。
すごく今更ながら忘れてたのでメモ。

Runlevel

「runlevel」コマンドで確認できる。

# runlevel
N 4

数字は

らしい。

スクリプト

S??hogeとK??hogeというスクリプトがあって数字は小さい順から順に実行される。

という感じ。つまり、SとKはセットで使うのが常套手段になると思う。

使い方

/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がこんな感じだったかどうかは覚えてないけど。