1. 程式人生 > 實用技巧 >如何控制Linux中的執行級別

如何控制Linux中的執行級別

一、檢視系統的執行級別

不同的執行級別代表了系統不同的執行狀態所能執行的服務或程式會有所區別,明確當前所處的執行級別將有助於管理員對一些應用故障的排除。若未能確知當前所處的執行級別,可以使用runlevel命令進行查詢,輸出結果中分別包含切換前的級別和目前的級別。

【例1】:檢視系統的執行級別狀態,若之前未切換過執行級別,第一列將顯示“N”。

155540696.jpg

二、切換系統執行級別

當用戶需要將系統轉換為其他的執行級別時,可以使用init程式命令進行,只要使用與執行級別相對應的數字(0-6)作為命令引數即可。若要設定系統開機後預設進入的執行級別,則編輯“/etc/inittab”配置檔案。

【例2】:關閉當前系統。

160021239.jpg

【例3】:重啟當前系統。

160037701.jpg

三、設定系統服務在不同執行級別中的狀態

在Linux系統中包含了大量的服務程式,這些服務程式在切換執行級別時由rc指令碼根據預設的狀態進行啟動或終止。當然,對於某個系統服務在特定的執行級別中是否執行,這完全可以由管理員自行決定。

需要調整各種系統服務在不同執行級別中的自啟動狀態時,可以使用chkconfig或者ntsysv命令進行操作。

1、使用ntsysv配置工具

ntsysv工具可以在字元模式中執行,為使用者提供了互動式操作的介面,專門用於集中配置各種系統服務的啟動狀態。單獨執行“ntsysv”命令時僅用於管理當前執行級別中的服務,若使用“--level”選項,則可以對指定執行級別中的服務進行管理。例如,執行“ntsysv--level35”命令後,將開啟一個互動式的程式介面,可以同時設定在執行級別3、5中各服務的啟動狀態。

160936314.jpg

操作時使用上下箭頭鍵選擇不同的服務項,按空格鍵切換啟動狀態,“[*]”表示自動啟動,“[]”表示不要自動啟動。按F1鍵可以獲取關於某項服務的詳細說明,以便決定是否應載入。

當需要同時設定大量服務的啟動狀態時,選擇使用ntsysv配置工具要更加合適。

2、使用chkconfig配置工具

chkconfig配置工具與ntsysv的功能類似,但是並不提供互動式的操作介面,當需要設定個別服務在不同執行級別的啟動狀態時,選擇使用chkconfig命令要更有效率。

將chkconfig命令與“--list”選項配合使用,可以檢視特定服務在不同執行級別中的啟動狀態,若未指定服務名稱,則將顯示所有服務的啟動狀態。

【例4】:檢視network服務在各執行級別中的啟動狀態。

162700224.jpg

【例5】:檢視系統中所有服務在各執行級別中的啟動狀態。

162720971.jpg

將chkconfig命令與“--level”選項配合使用,可以設定指定服務在指定執行級別中的啟動狀態。較常用的命令格式如下:

chkconfig--level執行級別列表服務名稱on|off

【例6】:將network服務在執行級別2、4中的啟動狀態設定為off

162743195.jpg

【例7】:將network服務在執行級別2-5中的啟動狀態均設定為on

162759591.jpg

當缺少“--level”選項時,有時候也可以設定指定服務在不同執行級別的狀態,但是這種方式的設定結果會受到該服務指令碼檔案中狀態引數的影響,存在不確定性,因此不建議使用。

【例8】:使用不帶“--level”選項的chkconfig命令將vncserver服務的啟動狀態設定為關閉。

162817156.jpg

轉載於:https://blog.51cto.com/343308530/1259764