改变运行级别:init 还是 telinit?

改变运行级别:init 还是 telinit?

我一直在互联网上寻找答案,但还没有找到一个具体的答案。如果我想更改运行级别,只需使用就可以了,init还是我总是必须通过 来调用它telinit

我读到telinit实际上是 的符号链接init。如果这是正确的,我可以互换使用它们吗?

答案1

手册页telinit(8)回答你的问题:使用telinit

telinit 可用于改变系统运行级别。

答案2

init 是主进程,是所有其他进程的父进程。它在启动时启动并检查您的 /etc/inittab 和一堆其他设置。它还具有运行级别的概念,并且知道(例如,从您的 /etc/init.d 设置)在切换运行级别时要启动/停止哪些进程。

telinit 是一个较小的工具,它会在需要切换运行级别时通知 init。因此,您可以使用“telinit”来“告诉 init”它需要切换运行级别。

举个简单的例子:当您启动到图形模式(运行级别 5)时,init 将启动并启动与运行级别 5 相关的所有程序(它本身是所有这些程序的父进程)。然后,当您要求关闭机器时,telinit 将通知仍在运行的 init 进程,它需要切换到运行级别 6(用于重新启动)或 0(用于系统暂停)。

有关运行级别的详细信息,请参阅“man init”。

答案3

使用其中任何一个来更改运行级别都应该没问题。应该init检查它是否是真正的 init 进程。或者只是一个telinit,通过检查它的 pid 是否为 1,而不是通过文件的名称。

所以是的,您应该可以互换使用它们。

但是,我不能保证没有不合规的系统,在这种情况下,这将无法正常工作。最好亲自检查它是否按预期在您的安装中工作。

相关内容