/etc/inittab 文件是否自上而下读取?

Pea*_*key 3 linux runlevel

当内核加载后执行 init 进程时,它是否以自顶向下的方式读取 /etc/inittab 文件,即它执行文件中出现的每一行。

如果是这样并且根据我的阅读和理解,这是否意味着它进入记录的运行级别然后启动 sysinit 进程,反之亦然?

例如我见过的常见例子是

id:3:initdefault:

# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit
Run Code Online (Sandbox Code Playgroud)

小智 5

首先,请注意的格式inittab是这样的:

Identifier:RunLevel:Action:Command
Run Code Online (Sandbox Code Playgroud)

这里的关键点是runlevel. 给出以下示例代码:

a:3::
b:123::
c:23::
d:123::
e:23::
Run Code Online (Sandbox Code Playgroud)

然后,从runlevel1开始的各种 ID 的执行顺序将是:

init 1:  b d
init 2:  c e
init 3:  a
overall: b d c e a
Run Code Online (Sandbox Code Playgroud)

如您所见,它将按照文件中列出的顺序运行它们,按运行级别分组!还请记住,如果标识符不在指定的运行级别中,则会发出 aSIGTERM和 a SIGKILL