====== 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 の時、で ディスプレイマネージャが起動していない、又は終了した場合、起動する。