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)