/etc/inittab文件是Linux系統第一個進程init的配置文件。其每個記錄占一行,每行最多512個字符。該文件的每個記錄的格式為:
id:runlevel:action:process
其中,id是一個不超過4個字符的標識,用來唯一標識一條記錄。runlevel表明該條記錄中涉及的進程所可以運行的級別;如果為空表示可運行于所有的運行級別;如果該進程進入了未定義的運行級別則會被發送SIGTERM和SIGKILL消息而終結。action表明init對該進程采取的策略。process則指明了該記錄所對應的可執行程序或可執行腳本等。
對于action而言,可以使用的選項包括以下15個。
respawn:進程被終結時便立即重啟之,用于如getty等進程。init不等待處理結束便繼續后續操作。
wait:在系統進入到指定運行級別時便啟動相應進程。init等待處理結束才繼續后續操作。
once:在系統進入到指定運行級別時便啟動相應進程,但只有第一次進入該級別時才啟動一次。
boot:只在系統啟動時才運行指定進程。init不等待處理結束便繼續后續操作。
bootwait:只在系統啟動時才運行指定進程。init等待處理結束才繼續后續操作。
powerfail:init接收到斷電信號(SIGPWR)時才運行該進程,不等待處理結束便繼續后續操作。
powerwait:init接收到斷電信號(SIGPWR)時才運行該進程,等待處理結束才繼續后續操作。
powerokwait:在電源restore時啟動該進程。不太清楚restore在這里的具體含義。
powerfailnow:在電源快耗盡時啟動該進程。
off:不做任何操作。
ondemand:在系統進入相應運行級別時運行一次。
sysinit:在所有boot和bootwait記錄前啟動,一般僅用于對設備的初始化工作。init等待操作結束才繼續執行。
initdefault:指定默認的運行級別。忽略process項。
ctrlaltdel:在init收到SIGINT信號(即Ctrl+Alt+Del被同時按下)時啟動相應進程。
kbrequest:在init發現有組合鍵被按下時執行相應進程。
在上述參數中,sysinit、boot和bootwait的runlevel項被忽略。