inittab - 由sysv兼容的init進程使用的inittab文件的格式
描述
inittab文件描述了在啟動時和正常操作期間啟動哪些進程(例如/etc/init.d/boot,/etc/init.d/rc,gettys ...)。 Init (8)區分多個運行級別 ,每個運行級別都可以擁有自己的一組啟動的進程。 按需輸入的有效運行級別為0 - 6加A , B和C. inittab文件中的條目具有以下格式:
ID:運行級別:動作:過程
以'#'開始的行被忽略。
id是1-4個字符的唯一序列,它標識inittab中的條目(對於使用庫<5.2.18或a.out庫編譯的,限制為2個字符的sysvinit版本)。
注意:對於gettys或其他登錄進程, id字段應該是相應tty的tty後綴,例如1代表tty1 。 否則,登錄帳戶可能無法正常工作。
運行級別列出了應該採取指定操作的運行級別。
行動描述了應採取的行動。
進程指定要執行的進程。 如果進程字段以“+”字符開頭,則init不會為該進程執行utmp和wtmp記帳。 這是gettys堅持要做自己的utmp / wtmp家務所需要的。 這也是一個歷史性的錯誤。
runlevels字段可能包含不同運行級別的多個字符。 例如, 123指定應該在運行級1,2和3中啟動進程。ondemand條目的運行級可能包含A , B或C. sysinit , boot和bootwait條目的runlevels字段將被忽略。
當系統運行級別發生變化時,任何未針對新運行級別指定的正在運行的進程都將首先使用SIGTERM,然後使用SIGKILL進行處理。
操作字段的有效操作是:
重生
該過程將在終止時重新啟動(例如,getty)。
等待
當進入指定的運行級別並且init將等待其終止時,該進程將啟動一次。
一旦
當輸入指定的運行級別時,該進程將被執行一次。
靴
該過程將在系統引導期間執行。 運行級別字段被忽略。
bootwait
該進程將在系統引導期間執行,而init將等待其終止(例如/ etc / rc)。 運行級別字段被忽略。
離
這什麼都不做。
一經請求
只要調用指定的ondemand運行級別,就會執行標有ondemand runlevel的進程。 但是,不會發生運行級別更改( 按需運行級別為“a”,“b”和“c”)。
默認運行級別
initdefault項指定係統啟動後應該輸入的運行級別。 如果不存在, init將在控制台上要求運行級別。 過程字段被忽略。
SYSINIT
該過程將在系統引導期間執行。 它將在任何引導或bootwait條目之前執行。 運行級別字段被忽略。
powerwait
該過程將在電源關閉時執行。 Init通常通過與連接到計算機的UPS進行通話的過程來了解此情況。 在繼續之前, Init將等待該過程完成。
POWERFAIL
至於powerwait ,除了init不等待進程完成。
powerokwait
只要init通知電源已恢復,此過程將立即執行。
powerfailnow
當init被告知外部UPS的電池幾乎為空並且電源出現故障時(假定外部UPS和監控進程能夠檢測到這種情況),將執行此過程。
該進程將在init收到SIGINT信號時執行。 這意味著系統控制台上的某個人按下了CTRL-ALT-DEL組合鍵。 通常,人們想要執行某種關機操作 ,以進入單用戶級別或重新啟動機器。
kbrequest
當init從鍵盤處理程序接收到控制台鍵盤上按下特殊組合鍵的信號時,該進程將被執行。
此功能的文檔尚未完成; 更多的文檔可以在kbd-x.xx包中找到(最新的文章是在撰寫本文時為kbd-0.94)。 基本上你想要將一些鍵盤組合映射到“KeyboardSignal”動作。 例如,要為此目的映射Alt-Uparrow,請在鍵盤映射文件中使用以下內容:
alt鍵碼103 =鍵盤信號
例子
這是一個類似於舊版Linux inittab的inittab示例:
#inittab for linux id:1:initdefault:rc :: bootwait:/ etc / rc 1:1:respawn:/ etc / getty 9600 tty1 2:1:respawn:/ etc / getty 9600 tty2 3:1:respawn:/ etc / getty 9600 tty3 4:1:重生:/ etc / getty 9600 tty4此inittab文件在啟動過程中執行/ etc / rc ,並在tty1-tty4上啟動gettys。
一個更詳細的inittab,它具有不同的運行級別(請參閱裡面的註釋):
#在id:2中運行的級別:initdefault:#系統初始化之前。 si :: sysinit:/etc/rc.d/bcheckrc#運行級別0,6暫停並重啟,1為維護模式。 l0:0:wait:/etc/rc.d/rc.halt l1:1:wait:/etc/rc.d/rc.single l2:2345:wait:/etc/rc.d/rc.multi l6: 6:等待:/etc/rc.d/rc.reboot#在“3指敬禮”處做什麼。 ca :: ctrlaltdel:/ sbin / shutdown -t5 -rf now#運行級別2和3:控制台上的getty,級別3也在調製解調器端口上運行getty。 1:23:respawn:/ sbin / getty tty1 VC linux 2:23:respawn:/ sbin / getty tty2 VC linux 3:23:respawn:/ sbin / getty tty3 VC linux 4:23:respawn:/ sbin / getty tty4 VC linux S2:3:respawn:/ sbin / uugetty ttyS2 M19200也可以看看
重要提示:使用man命令( %man )查看特定計算機上的命令使用方式。