Slackware のサービス
作成 : 2002/12/16
/etc/inittab
inittab には、Slackware が起動するときに開始されるサービスを記述する。 サービスは、ランレベルごとにスクリプトファイルにまとめられている。 inittab の書式は、次のとおり。
id:runlevel:action:process
action には、次のようなものを指定できる。
| respown | プロセスを起動し、終了したら再起動する |
|---|---|
| wait | プロセスを起動し、終了を待つ |
| initdefault | デフォルトランレベルの指定 |
| sysinit | ブート時に起動するプロセス |
| powerfail | UPSが電源断検出時、実行するプロセス |
| powerokwait | UPSが電源復旧検出時、実行するプロセス |
| ctrlaltdel | Ctrl-Alt-Delete を押したとき、実行するプロセス |
/etc/inittab の内容の一部を、以下に示す。 デフォルトランレベル(3)や、それぞれのランレベルに移行するとき、実行されるプロセスを確認することができる。
# Default runlevel. (Do not set to 0 or 6) id:3:initdefault: # System initialization (runs when system boots). si:S:sysinit:/etc/rc.d/rc.S # Script to run when going single user (runlevel 1). su:1S:wait:/etc/rc.d/rc.K # Script to run when going multi user. rc:2345:wait:/etc/rc.d/rc.M # What to do at the "Three Finger Salute". ca::ctrlaltdel:/sbin/shutdown -t5 -r now # Runlevel 0 halts the system. l0:0:wait:/etc/rc.d/rc.0 # Runlevel 6 reboots the system. l6:6:wait:/etc/rc.d/rc.6 # Runlevel 4 used to be for an X window only system, until we discovered # that it throws init into a loop that keeps your load avg at least 1 all # the time. Thus, there is now one getty opened on tty6. Hopefully no one # will notice. ;^) # It might not be bad to have one text console anyway, in case something # happens to X. x1:4:wait:/etc/rc.d/rc.4
1 と S の違いがよくわからん....
/etc/rc.dディレクトリと rc.X ファイル
起動時に実行されるプロセスは、/etc/rc.d ディレクトリに rc.X ファイルとしてまとめられている。 たとえば、ランレベル 3 に移行するときは、/etc/rc.d/rc.3 を実行するよう、/etc/inittab に記述されている。
| rc.0 | システム停止時に実行(rc.6 のへシンボリックリンク) |
|---|---|
| rc.S | システム起動時に実行 |
| rc.K | シングルユーザモード移行時に実行 |
| rc.M | マルチユーザモード移行時に実行 |
| rc.4 | GUI マルチユーザモード移行時に実行 |
| rc.6 | システム再起動時に実行 |
| rc.4 | GUIシングルユーザモード移行時に実行 |
| rc.inet1 | rc.M から実行、IPアドレスなどの基本TCP/IP設定を実行 |
| rc.inet2 | rc.M から実行、NFSやSSHなどを起動 |
| rc.local | rc.M から実行、ローカルセットアップコマンドを記述 |
プロセスの起動を止めるには、スクリプトファイルの中で該当の行を # でコメントアウトするか、スクリプトファイルのパーミッションを 644 など実行権限のないものにしてしまう。