====== Linux:init:initプロセス ======
===== initプロセスとは =====
* Linux起動時、最初に実行されるプロセスであり、他の全てのプロセスはinitから起動される。そのため、プロセスIDは必ず '1' になる。
===== 設定ファイル =====
* initは/etc/inittab ファイルに記述されたプロセスを順に起動する。
**///etc/inittabのサンプル(CentOS 5.5)//**
more /etc/inittab
#
# inittab This file describes how the INIT process should set up
# the system in a certain run-level.
#
# Author: Miquel van Smoorenburg,
# Modified for RHS Linux by Marc Ewing and Donnie Barnes
#
# Default runlevel. The runlevels used by RHS are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:5:initdefault:
# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit
l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
# When our UPS tells us power has failed, assume we have a few minutes
# of power left. Schedule a shutdown for 2 minutes from now.
# This does, of course, assume you have powerd installed and your
# UPS connected and working correctly.
pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"
# If power was restored before the shutdown kicked in, cancel it.
pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"
# 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
# Run xdm in runlevel 5
x:5:respawn:/etc/X11/prefdm -nodaemon
===== inittabの書式 =====
id:runlevels:action:process
==== id ====
* 識別子。ユニークな文字列(1~4文字)
==== runlevels ====
* ランレベル1~6までの数字で指定。「2345」など、複数を同時に指定できる。
^ runlevel ^ 説明 ^
| 0 |停止|
| 1 |シングルユーザモード|
| 2 |NFSなしのマルチユーザモード|
| 3 |テキストログインのマルチユーザモード|
| 4 |未使用|
| 5 |グラフィカルログインのマルチユーザモード|
| 6 |再起動|
==== action ====
* プロセスの起動または終了時の動作。
^ action ^ 説明 ^
|initdefault|ブート完了時に入るランレベルを指定する。processの指定は無視される。|
|sysinit|ブート中に実行される。runlevelsの欄は無視される。|
|wait|指定したランレベルになった時、一度だけ実行される。|
|ctrlaltdel|initがSIGINTシグナルを受取ったときに実行される。|
|powerfail|電源に異常が起き、さらに外部UPSのバッテリー容量が少なくなったことをinitが知った時実行される。|
|respawn|プロセスが終了した場合は常に再起動する。|
|powerokwait|電源が回復したことをinitが知った時実行される。|
==== process ====
* 起動するプログラム
===== サンプルの解説 =====
=== id:5:initdefault: ===
* boot完了後、ウィンドウマネージャを起動する。(processは不要)
=== si::sysinit:/etc/rc.d/rc.sysinit ===
* boot時、/etc/rc.d/rc.sysinit が実行される。(runlevelは不要)
=== l0:0:wait:/etc/rc.d/rc 0 ===
* ランレベル 0 の時、/etc/rc.d/rc をパラメータ 0 で起動する。
=== l1:1:wait:/etc/rc.d/rc 1 ===
* ランレベル 1 の時、/etc/rc.d/rc をパラメータ 1 で起動する。
=== l2:2:wait:/etc/rc.d/rc 2 ===
* ランレベル 2 の時、/etc/rc.d/rc をパラメータ 2 で起動する。
=== l3:3:wait:/etc/rc.d/rc 3 ===
* ランレベル 3 の時、/etc/rc.d/rc をパラメータ 3 で起動する。
=== l4:4:wait:/etc/rc.d/rc 4 ===
* ランレベル 4 の時、/etc/rc.d/rc をパラメータ 4 で起動する。
=== l5:5:wait:/etc/rc.d/rc 5 ===
* ランレベル 5 の時、/etc/rc.d/rc をパラメータ 5 で起動する。
=== l6:6:wait:/etc/rc.d/rc 6 ===
* ランレベル 6 の時、/etc/rc.d/rc をパラメータ 6 で起動する。
=== ca::ctrlaltdel:/sbin/shutdown -t3 -r now ===
* Ctrl + Alt + Del でシステムを再起動する。(runlevelは不要)
=== pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down" ===
* シグナル( SIGPWR )を受取ると、システムをシャットダウンする。(runlevelは不要)
=== pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled" ===
* 電源が回復したした時、シャットダウンをキャンセルする。
=== 1:2345:respawn:/sbin/mingetty tty1 ===
* 仮想端末 tty1 が起動していない、又は終了した場合、起動する。
=== 2:2345:respawn:/sbin/mingetty tty2 ===
* 仮想端末 tty1 が起動していない、又は終了した場合、起動する。
=== 3:2345:respawn:/sbin/mingetty tty3 ===
* 仮想端末 tty1 が起動していない、又は終了した場合、起動する。
=== 4:2345:respawn:/sbin/mingetty tty4 ===
* 仮想端末 tty1 が起動していない、又は終了した場合、起動する。
=== 5:2345:respawn:/sbin/mingetty tty5 ===
* 仮想端末 tty1 が起動していない、又は終了した場合、起動する。
=== 6:2345:respawn:/sbin/mingetty tty6 ===
* 仮想端末 tty1 が起動していない、又は終了した場合、起動する。
=== x:5:respawn:/etc/X11/prefdm -nodaemon ===
* ランレベル 5 の時、で ディスプレイマネージャが起動していない、又は終了した場合、起動する。