我记得过去创建了一个自定义运行(初始化)级别。还有其他人遇到过吗?我想要在特定条件下调用运行级别。我已经搜索过当前的文档。我一辈子都不记得我们以前是怎么做到的。
答案1
运行级别有两个方面:由 init 监视的进程(主要是getty
其实例或其变体),以及进入运行级别时由一次性进程启动/停止的进程。
这两者都在 中定义inittab
:终端具有respawn
类型,而一次性具有wait
类型。
至少在一个 Debian 中,脚本/etc/init.d/rc
负责输入运行级别,这将按数字顺序执行/etc/rc?.d/
(?
新的运行级别)中的所有脚本,首先是K??
参数为 的所有脚本stop
,然后S??
是参数为 的所有脚本start
。
这些脚本通常是真实脚本的符号链接,如下所示/etc/init.d
。任何应在运行级别中启动的服务都应链接到以S
和 两个数字开头的名称,任何应停止的服务应链接到以K
和 两个数字开头的名称。
该update-rc.d
工具可以在 Debian 上为您执行此操作,如果您使用其他发行版,则应该存在类似的机制。 Debian 将运行级别 2 到 5 定义为相同的,因此您可以只选择一个并开始根据默认值进行修改;其他发行版可能有不同的默认值。