我在 /etc/rc0.d 中的运行级别 0 脚本,应该在停止时执行,例如
- K05foo -> ...
- K10bar -> ...
- K80baz -> ...
- S10somemore -> ...
- S90 暂停 -> ...
是否正确,执行顺序如上所列,即
- 首先击杀,按优先级升序排列
- 然后所有开始,按优先级升序排列
- 所有这些,与我们切换到的运行级别无关 (S,0-6)
- 所有脚本总是被调用(即没有额外的检查会阻止调用脚本,例如是否在先前的运行级别中该脚本实际上已启动)
我很困惑,因为在我的嵌入式系统上,一些脚本似乎没有被执行,并且那个页面说
S20 链接在 S91 之前启动,并且 K91 在 K20 之前被杀死。
这与我上面的文字相矛盾。
为了完整起见,回答我自己的问题:
我在 OpenEmbedded 系统上使用busybox。中的 rc 脚本
/etc/init.d/rc
具有以下行为:此外,让我感到困惑的是,它
shutdown now
实际上切换到运行级别 1 而不是运行级别 0。你必须使用halt
或poweroff
运行级别 0。所以我在 rc0.d 中的脚本没有真正执行,只有那些碰巧也在 rc1.d 中的脚本.这取决于您使用的初始化守护进程。
对于 SysVInit,您可以假设当您将运行级别更改为 0 时会发生以下情况:
我看不出您引用的句子与您上面所说的内容相矛盾。