在使用SysV init运行级别的系统上,如Centos 5,当操作系统启动时,它是否直接进入/etc/inittab中定义的运行级别?
如果我使用init命令更改运行级别,那么是否为当前运行级别执行杀死脚本,然后为新运行级别执行启动脚本?
例如,如果我处于运行级别3并输入init 1,那么/etc/rc.d/rc3.d中的杀死脚本会被执行吗?然后在进入运行级别1时,/etc/rc.d/rc1.d中的启动脚本会被运行吗?
发布于 2011-07-26 17:32:24
是的,SysVinit在引导时直接进入所选的运行级别,而不查看其他级别的脚本。可以使用runlevel命令查看运行级历史记录。在第一次引导时,它将显示“先前”的运行级为'N‘。在运行级更改之后,它将显示以前的和当前的运行级。
当切换运行级时,它首先查看它们之间的差异。在当前级别中列出但没有在新级别中列出的任何服务首先使用杀死脚本被杀死,然后在新级别中列出而不是在旧级别中列出的任何服务将被运行。两个运行级别中存在的服务不受影响。
例如,从运行级别3切换到5通常会导致启动一些东西(比如显示管理器),但不会造成任何死亡。从5切换到1将导致相当多的事情被杀死,然后可能会运行1(就像一个用户界面控制台管理器)。
https://unix.stackexchange.com/questions/17427
复制相似问题