Provided by: manpages-zh_1.5.2-1.1_all
NAME
inittab - 與 sysv 相容的 init 進程使用的初始化檔案格式
描述
inittab 檔案描述在系統引導及通常的操作期間, 都啟動哪些進程 (比如 /etc/init.d/boot, /etc/init.d/rc, getty 等等). Init(8) 討論有關 runlevels (運行級) 的概念, 每一個 運行級都 有它自己啟動進程的集合. 有效的運行級 為 0-6 加上用於 ondemand 條目 的 A, B 和 C. inittab 檔案中的每一個條目有如下的格式: id:runlevels:action:process 以 `#' 開頭的行被忽略. id inittab 檔案中條目的唯一標識, 限於 1-4 個字符 (如果是用版本號小於 5.2.18 或 a.out 的庫編譯生成的 sysvinit 程式, 則僅限於 2 個字符). 注意: 對於 getty 或其它的注冊進程, id 必須是 響應的終端線路的 tty 延伸檔名, 如 1 響 應 tty1, 否則, 注冊過程不能正常的工作. runlevels 列出發生指定動作的運行級. action 描述要發生的動作. process 要執行的進程. 如果 process 域以一個 `+' 開頭, init 不會在 utmp 和 wtmp 檔案中為此進 程記帳. 這是由於 getty 自己主持 utmp/wtmp 記帳的需要, 同時這也是一個歷史遺留的漏 洞. runlevels 域可以包含表示不同運行級的多 個字符, 例如 123 表示本進程在運行級為 1, 2 和 3 時 都要啟動. 用於 ondemand 條目的 runlevels 域可以 包含 A, B, 或 C. 用於 sysinit, boot, 和 bootwait 條目的 runlevels 域被忽略. 當改變運行級時, 在新運行級中沒有給出的那些正在 運行的進程被殺死, 先使用 SIGTERM 信號, 然後 是 SIGKILL. action 域可以使用的動作有: respawn 該進程只要終止就立即重新啟動 (如 getty). wait 只要進入指定的運行級就啟動本進程, 並且 init 等待該進程的結束. once 只要進入指定的運行級就啟動一次本進程. boot 在系統引導期間執行本進程. runlevels 域被忽略. bootwait 在系統引導期間執行本進程. 並且 init 等待該進程的結束 (如 /etc/rc). runlevels 域被 忽略. off 什麼也不做. ondemand 在進入 ondemand 運行級時才會執行 標記為 ondemand 的那些進程. 無論怎樣, 實際上沒有 改變運行級 (ondemand 運行級就是 `a', `b', 和 `c'). initdefault initdefault 條目給出系統引導 完成後進入的運行級, 如果不存在這樣的條目, init 就會在 控制台詢問要進入的運行級. process 域被忽略. sysinit 系統引導期間執行此進程. 本進程會在 boot 或 bootwait 條目之前得到執行. runlevels 域被忽略. powerwait 本進程在電源不足時執行. 通常在有進程把 UPS 和電腦相連時 通知 init 進程, Init 在繼 續其它工作 之前要等待此進程結束. powerfail 類似 powerwait, 但是init 不等待 此進程完成. powerokwait 在 init 收到電源已經恢復的通知後 立即執行此進程. powerfailnow 本進程在 init 被告知 UPS 電源快耗盡 同時外部電源失敗 (無效) 時被執行. (假設 UPS 和 監視進程能夠發現這樣的情況). ctrlaltdel 在 init 收到 SIGINT 信號時執行此進程. 這意味著有人在控制台按下了 CTRL-ALT-DEL 組合 鍵, 典型地, 可能是想執行類似 shutdown 然後進入單使用者模式或 重新引導機器. kbrequest 本進程在 init 收到一個從控制台 鍵盤產生的特殊組合按鍵信號時執行. 對於此功能本文件尚未完成; 可以在 kbd-x.xx 包中 找到更多信息 (在寫作本文件時最新的是 kbd-0.94). 當然你可能想為某些 "KeyboardSignal" 行為 映射組合鍵, 如為了映射 (Alt-上 箭頭) 可以在鍵盤映射檔案中 使用如下的方式: alt keycode 103 = KeyboardSignal
舉例
這是一個與老的 Linux 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:respawn:/etc/getty 9600 tty4 本檔案在引導時執行 /etc/rc 並且在 ty1-tty4 上啟動 getty 進程. 一個更詳盡的 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:wait:/etc/rc.d/rc.reboot # "3 個鍵" 按下時要做的工作. ca::ctrlaltdel:/sbin/shutdown -t5 -rf now # 運行級2和3: 在控制台生成 getty 進程, 運行級為3時在 modem 上生成 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
檔案
/etc/inittab
作者
Init 由 Miquel van Smoorenburg (miquels@cistron.nl) 所寫. 本手冊頁由 Sebastian Lederer (lederer@francium.informatik.uni-bonn.de) 所寫, 由 Michael Haardt (u31b3hs@pool.informatik.rwth-aachen.de) 修改.
參考
init(8), telinit(8)
中文版維護人
Yin Huaming <yhmact@pzh-public.sc.cninfo.net>
中文版最新更新
2002年7月13日
中國 Linux 論壇 man 手冊頁翻譯計劃
http://cmpp.linuxforum.net May 19, 1998 INITTAB(5)