SysV 初始化运行级别

Kev*_*Kev 3 centos init-script sysvinit runlevel

在使用 SysV init 运行级别的系统上,例如Centos 5,当操作系统启动时,它会直接进入 中定义的运行级别/etc/inittab吗?

如果我使用init命令更改我的运行级别,是否执行当前运行级别的终止脚本,然后执行新运行级别的启动脚本?

例如,如果我处于运行级别 3 并进入init 1,是否会执行 kill 脚本/etc/rc.d/rc3.d,然后在进入运行级别 1 时会运行启动脚本/etc/rc.d/rc1.d

Cal*_*leb 5

是的,SysVinit 在启动时直接进入所选的运行级别,而无需查看其他级别的脚本。您可以使用该runlevel命令查看运行级别历史记录。在第一次启动时,它会将“上一个”运行级别显示为“N”。运行级别更改后,它将显示先前和当前的运行级别。

切换runlevel的时候,首先看它们之间的区别。任何列在当前级别但不在新级别中的服务首先使用终止脚本终止,然后运行任何在新级别中但不在旧级别中的服务。不涉及存在于两个运行级别中的服务。

例如,从运行级别 3 切换到 5 通常会导致一些东西(如显示管理器)被启动,但没有任何东西被杀死。从 5 切换到 1 会导致很多东西被杀死,然后可能会运行 1(比如单个用户界面控制台管理器)。