Centos

SysV 初始化執行級別

  • May 22, 2014

在使用 SysV init 執行級別(例如Centos 5)的系統上,當作業系統啟動時,它是否直接進入定義的執行級別/etc/inittab

如果我使用命令更改我的執行級別,init是否執行目前執行級別的終止腳本,然後執行新執行級別的啟動腳本?

例如,如果我處於執行級別 3 並進入init 1,會/etc/rc.d/rc3.d執行中的終止腳本,然後在進入執行級別 1 時會執行啟動腳本/etc/rc.d/rc1.d嗎?

是的,SysVinit 在啟動時直接進入所選的執行級別,而無需查看其他級別的腳本。runlevel您可以使用該命令查看執行級別歷史記錄。在第一次啟動時,它會將“以前的”執行級別顯示為“N”。執行級別更改後,它將顯示先前和目前的執行級別。

在切換執行級別時,首先看它們之間的區別。任何列在目前級別但不在新級別中的服務首先使用終止腳本殺死,然後執行任何列在新級別中但不在舊級別中的服務。兩個執行級別中都存在的服務不會被觸及。

例如,從執行級別 3 切換到 5 通常會導致一些東西(如顯示管理器)被啟動,但沒有任何東西被殺死。從 5 切換到 1 會導致很多東西被殺死,然後可能會執行 1(如單個使用者界面控制台管理器)。

引用自:https://unix.stackexchange.com/questions/17427