リスト5■/etc/rc.d/init.d/sendmailファイル内
別ウィンドウで見る or list05.txt
リスト5内に記述されている引数「$1」は,コマンドラインで実行する際の1つ目に当たる。この起動スクリプトでは,$1の内容を調べて挙動を決定するのだ。Sendmailの起動用のスクリプトでは,「start」,「stop」,「restart」,「status」の4種類の引数を取ることができるようになっており,例えば「start」だった場合には, リスト5の中で以下の部分が実行される。
リスト6■リスト5の中で実行される部分
別ウィンドウで見る or list06.txt
リスト6はSendmailを起動するためのスクリプトだ。これらのスクリプトは,すべてのランレベルで共通に利用される。このため各ランレベルのスクリプトのディレクトリに格納するのではなく,/etc/rc.d/init.dディレクトリの中に本体を置き,ランレベルのスクリプト用ディレクトリに本体へのリンクファイルが存在する。
ランレベルのスクリプトディレクトリからのリンクは,以下のルールに従って名前が付けられている。
|
例えば,/etc/rc.d/rc3.dディレクトリ内に「S80sendmail」と指定されている場合,「ランレベル3」で「Sendmail」を「80」番目に「開始」させるという設定になる。これらの「開始/停止」の判断や,実行する順番は/etc/rc.d/rcファイルのスクリプトが受け持っている。
/etc/rc.d/rcスクリプトは,ランレベルのスクリプトディレクトリの中を検索し,まず「K」で始まるスクリプトを「stop」引数(オプション)と共に実行して各種のサービスを停止する。さらに「S」で始まるスクリプトを「start」引数と共に実行してサービスを開始する。ランレベル3の場合は,次のような手順になる。
|
|
これらの処理が終わると,initは次の手順に沿ってログインプロンプト表示まで移行する。次のように記述されている手順に従い,/sbin/mingettyを実行するのだ(ランレベル 2,3,4,5で実行)。
# Run gettys in standard runlevels 1:2345:respawn:/sbin/mingetty tty1 2:2345:respawn:/sbin/mingetty tty2 3:2345:respawn:/sbin/mingetty tty3 4:2345:respawn:/sbin/mingetty tty4 5:2345:respawn:/sbin/mingetty tty5 6:2345:respawn:/sbin/mingetty tty6 |
ランレベルが5の場合には,次の記述にしたがって/etc/X11/prefdmを実行する(これが X Window Systemを利用したGUIのログイン画面となる)。
# Run xdm in runlevel 5 # xdm is now a separate service x:5:respawn:/etc/X11/prefdm -nodaemon |
9/12 |