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 收到一个从控制台键盘产生的特殊组合按键信号时执行。
inittab实例:
#/etc/inittab
::sysinit:/etc/init.d/rcS
tty0::respawn:/sbin/getty 38400 tty0
tty2::askfirst:/bin/sh
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/cp /etc /mnt/yaffs/etc -ra //因为我们的根文件系统只读,需要保存/etc的内容
::shutdown:/bin/umount ar
::shutdown:/bin/mount / o remount,ro //mount -o remount就是重新加载的意思