我试图了解运行级别是如何工作的。我理解 7 个运行级别的含义,并且我知道它们通常是由 来配置的/etc/inittab
,它用来调用/etc/init.d/rc
,它本身调用各种脚本来配置不同的运行级别及其行为方式。
现在我在 Ubuntu 服务器计算机(12.04)上,我看到该inittab
文件不再使用,而是在/etc/init
目录中找到了脚本。
现在假设我想在启动时执行一个脚本(例如启动一个应用程序)。通常我会编辑/etc/init.d/rc.local
文件。
我的问题来了:如果我编辑这个文件,这个脚本会运行吗每一个运行级别?
例如,如果我希望脚本仅在运行级别 5 下工作,我是否应该将此脚本放入该/etc/rc5.d/
文件夹中?或者还有其他方法可以做到这一点吗?
答案1
答案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
在多用户运行级别运行脚本。