プロセス番号1のinitプロセスは、/etc/inittabファイルの記述に従って端末
からのログインプロセスを起動すると共に/sbin/rc0から/sbin/rc6までの各シェルスクリプトをそのランレベルに応
じて実行します。そしてこれらのrcスクリプトは、/etc/rc
.dディレクトリ下の
KまたはSで始まる名前のファイルを実行します。実際の各種プロセスの起動は
これらKファイル、Sファイル中で行なわれるわけです。これらを総称してrcファイル
と呼んでいます。
管理者が新しいソフトウェアをインストールし、そのプロセスをシステム起動 時に自動的に立ちあげておきたい場合は適当な名前のSファイル、Kファイルを 作成してその中に記述しておくことになります。
BSD系のOSでは各種のプロセスの起動は/etc/rc、 /etc/rc.localといったファイル中でまとめて記述しますが、SYSTEM V系では 一つの処理に対応して一組のKファイル、Sファイルを用意します。 2.6 これらのKファイルまたはSファイルは、制御の順番がすぐ分かるように、Kま たはSの後ろに、2桁の数字がつけられています。処理の内容を表す名前は、 その後ろに付けられています。
たとえば、ランレベル2に対応する /etc/rc.dの中には次のようなファイルが あります。
K20lp S05RMTMPFILES S71rpc S75cron S92volmgt K60nfs.server S20sysetup S71sysid.sys S80PRESERVE S94wnnv4 K65nfs.client S21perf S72autoinstall S80lp S99audit K92volmgt S30sysid.net S72inetsvc S88sendmail K94wnnv4 S47asppp S73nfs.client S88utmpd README S69inet S74autofs S90loc.ja.cssd S01MOUNTFSYS S70uucp S74syslog S90loc.ja.kmod
このうち、S94wnnv4というファイルはフリーソフトのかな漢字変換システム Wnnの変換サーバを起動するためのもので、後で付け加えたものです。内容は
# # wnnv4 start-up and termination # case "$1" in 'start') # Start Wnn version4 jserver: if [ ! -x /usr/local/bin/Wnn4/jserver ];then echo "Wnn version 4 startup: cannot start" exit 1 fi /usr/local/bin/Wnn4/jserver > /usr/local/bin/Wnn4/jserver.log 2>&1 & ;; 'stop') # Stop Wnn version4 jserver: if [ ! -x /usr/local/bin/Wnn4/wnnkill ];then echo "Cannot find wnnkill" exit 1 fi /usr/local/bin/Wnn4/wnnkill localhost ;; esac
というものですが、引数にstartを与えて起動するとWnnのjserverを(存在を確 認してから)起動し、引数にstopを与えた場合はwnnkillコマンドを使用して jserverを終了させていることが分かります。