条目(entry)的格式如下:
id:runlevels:action:process
⑴ id 字段:由 1-4 个字符组成,用来唯一标识条目。
⑵ runlevels 字段:运行级别,用来指定该条目适用于哪个运行级别。如果该字段为空,代表适用于 0 ― 6 的运行级别。
⑶ action 字段:操作,允许的操作如下:
⒈respawn 如果 process 字段指定的进程不存在,就启动该进程,init 不会等待处理结束,而是继续扫描 inittab 文件。当该进程被终止时,init 将重新启动它。如果相应的进程已经存在,init 就忽略该条目并继续扫描inittab 文件。
⒉wait 启动进程并等待处理结束,处理结束后才去处理下一条条目。
⒊once 启动进程,不会等待处理结束,而是继续处理下一条条目。当该进程被终止时,init 不会重新启动它。从一个运行级别进入另一个运行级别时,如果相应的进程仍在运行,init 就不会重新启动该进程。
⒋boot 只在系统启动时,init 才处理这条条目,启动相应的进程,并不等待处理结束就去处理下一条条目。当这样的进程终止时,也不会重新启动它。
⒌bootwait 系统启动后,当第一次从单用户模式进入多用户模式时才处理该条目,init 启动这样的进程,并且等待其处理结束才处理下一条条目,当该进程被终止时,也不重新启动它。
⒍off 如果相应的进程正在运行,那么就发出一个警告信号,等待数秒后,再发出信号 SIGKILL 强制终止该进程。如果相应的进程不存在就忽略该条目。
⒎ondemand 与“respawn”的功能一样,但是只适用于运行级别为 A、B、C 的条目。
⒏initdefault 指定一个默认的运行级别,如果指定了多个运行级别,其中最大的数字将是默认的运行级别。如果 inittab 文件没有包含该条目,在系统启动时会请求用户为其指定一个默认的运行级别。
⒐sysinit 指定的进程在访问控制台之前执行,这样的条目仅用于对某些设备的初始化,目的是为了使 init 在这样的设备上向用户提问有关运行级别的问题,init 需要等待进程运行结束后才继续。
⒑powerwait 当 init 接到断电的信号时,处理指定的进程,并且等到处理结束后才去检查其他的条目。
⒒powerfail 当 init 接到断电的信号时,处理指定的进程,但是不等待该进程处理结束。
⒓powerokwait
⒔powerfailnow
⒕ctrlaltdel 当 init 收到信号时,执行指定进程。用来设置 Ctrl + Alt + Delete 组合键的功能。
⒖kbrequest
⑷ process 字段:该条目所要执行的进程,可以是任何合法的 shell 命令。
1 #
2 # inittab This file describes how the INIT process should set up
3 # the system in a certain run-level.
4 #
5 # Author: Miquel van Smoorenburg, <
[email protected]>
6 # Modified for RHS Linux by Marc Ewing and Donnie Barnes
7 #
8
9 # Default runlevel. The runlevels used by RHS are:
10 # 0 - halt (Do NOT set initdefault to this)
11 # 1 - Single user mode
12 # 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
13 # 3 - Full multiuser mode
14 # 4 - unused
15 # 5 - X11
16 # 6 - reboot (Do NOT set initdefault to this)
17 #
18 id:3:initdefault:
设置了默认的运行级别为 3
19
20 # System initialization.
21 si::sysinit:/etc/rc.d/rc.sysinit
如果运行级别在 0 ― 6 之间,在访问控制台之前执行 /etc/rc.d 目录下的 rc.sysinit 脚本,用来初始化操作系统
22
23 l0:0:wait:/etc/rc.d/rc 0
24 l1:1:wait:/etc/rc.d/rc 1
25 l2:2:wait:/etc/rc.d/rc 2
26 l3:3:wait:/etc/rc.d/rc 3
27 l4:4:wait:/etc/rc.d/rc 4
28 l5:5:wait:/etc/rc.d/rc 5
29 l6:6:wait:/etc/rc.d/rc 6
30
31 # Trap CTRL-ALT-DELETE
32 ca::ctrlaltdel:/sbin/shutdown -t3 -r now
33
34 # When our UPS tells us power has failed, assume we have a few minutes
35 # of power left. Schedule a shutdown for 2 minutes from now.
36 # This does, of course, assume you have powerd installed and your
37 # UPS connected and working correctly.
38 pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"
39
40 # If power was restored before the shutdown kicked in, cancel it.
41 pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"
42
43
44 # Run gettys in standard runlevels
45 1:2345:respawn:/sbin/mingetty tty1
46 2:2345:respawn:/sbin/mingetty tty2
47 3:2345:respawn:/sbin/mingetty tty3
48 4:2345:respawn:/sbin/mingetty tty4
49 5:2345:respawn:/sbin/mingetty tty5
50 6:2345:respawn:/sbin/mingetty tty6
51
52 # Run xdm in runlevel 5
53 x:5:respawn:/etc/X11/prefdm -nodaemon