如何在启动时将脚本关联到特定的运行级别?

如何在启动时将脚本关联到特定的运行级别?

我试图了解运行级别是如何工作的。我理解 7 个运行级别的含义,并且我知道它们通常是由 来配置的/etc/inittab,它用来调用/etc/init.d/rc,它本身调用各种脚本来配置不同的运行级别及其行为方式。

现在我在 Ubuntu 服务器计算机(12.04)上,我看到该inittab文件不再使用,而是在/etc/init目录中找到了脚本。

现在假设我想在启动时执行一个脚本(例如启动一个应用程序)。通常我会编辑/etc/init.d/rc.local文件。

我的问题来了:如果我编辑这个文件,这个脚本会运行吗每一个运行级别?

例如,如果我希望脚本仅在运行级别 5 下工作,我是否应该将此脚本放入该/etc/rc5.d/文件夹中?或者还有其他方法可以做到这一点吗?

答案1

在 Ubuntu 中,这称为暴发户。我建议你阅读食谱,它讨论了如何创建在特定(伪)运行级别运行的脚本。

您指的是“System V”初始化系统。这个想法是让事情同时开始。我建议你看一下instanceUpstart 的功能。

答案2

好吧,这就是我发现的:

最新的 Ubuntu 版本使用 upstart (正如 @polemon 正确指出的那样),它使用目录中的特定配置文件/etc/init来配置脚本应运行的运行级别。 Upstart 将 upstart 作业文件放入该/etc/init文件夹中,并将普通初始化脚本放入/etc/init.d各个/etc/rc*.d文件夹中,并且实际上能够运行它们。

不使用 upstart 的系统仅使用/etc/init.d/etc/rc*.d。在这种情况下,运行级别是通过在适当的文件夹中添加到脚本的符号链接来设置的/etc/rc*.d

此外,显然rc.local在多用户运行级别运行脚本。

相关内容