Provided by: manpages-zh_1.6.3.3-2_all bug

NAME

       inittab - 與 sysv 兼容的 init 進程使用的初始化文件格式

描述

       inittab   文件描述在系統引導及通常的操作期間,   都啓動哪些進程  (比如    /etc/init.d/boot,
       /etc/init.d/rc,  getty  等等).   Init(8)  討論有關  runlevels  (運行級)   的概念,   每一個
       運行級都有它自己啓動進程的集合.  有效的運行級  爲 0-6 加上用於 ondemand 條目 的 A, BC.
       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
              系統引導期間執行此進程. 本進程會在 bootbootwait 條目之前得到執行.  runlevels 域被忽略.

       powerwait
              本進程在電源不足時執行.  通常在有進程把 UPS 和計算機相連時  通知  init  進程,  Init
              在繼續其它工作 之前要等待此進程結束.

       powerfail
              類似 powerwait, 但是init 不等待 此進程完成.

       powerokwaitinit 收到電源已經恢復的通知後 立即執行此進程.

       powerfailnow
              本進程在  init  被告知  UPS 電源快耗盡 同時外部電源失敗 (無效) 時被執行.  (假設 UPS
              和監視進程能夠發現這樣的情況).

       ctrlaltdelinit  收到  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

       本頁面中文版由中文 man 手冊頁計劃提供。
       中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh

                                           May 19, 1998                                INITTAB(5)