淺談linux系統中的7種運行級別
Linux系統7個運行級別(runlevel):
運行級別0:
系統停機狀態,系統默認運行級別不能設為0,否則不能正常啟動。
運行級別1:
單用戶工作狀態,root權限,用于系統維護,禁止遠程登陸。
運行級別2:
多用戶狀態(沒有NFS)。
運行級別3:
完全的多用戶狀態(有NFS),登陸后進入控制臺命令行模式。
運行級別4:
系統未使用,保留。
運行級別5:
X11控制臺,登陸后進入圖形GUI模式。
運行級別6:
系統正常關閉并重啟,默認運行級別不能設為6,否則不能正常啟動。
補充:
查看服務的運行級別
chkconfig --list
下面比較常用的MySQLd服務,運行在2 3 4 5級別
mysqld 0:off1:off2:on3:on4:on5:on6:off
運行級別的原理:
在/etc/rc.d/init.d下有許多服務(service)腳本程序,如下圖
比較常用的network、sshd等等
在/etc/rc.d下有7個rc0.d、rc1.d、rc2.d、rc3.d、rc4.d、rc5.d、rc6.d目錄
對應系統的7個運行級別,如下圖所示
rc{0..6}.d目錄下都是一些符號鏈接文件
這些鏈接文件都指向init.d目錄下的service腳本文件
命名規則為Knn服務名或Snn服務名,n為數字。
系統會根據指定的運行級別進入對應的rcN.d目錄
并按照文件名順序檢索目錄下的鏈接文件
對于以K(kill)開頭的文件,系統將終止對應的服務
對于以S(start)開頭的文件,系統將啟動對應的服務
如下圖,以rc3.d/目錄為例
#即:如果開機運行級別在3,會執行rc3.d/目錄下S開頭的腳本
#如:S10network
#這個鏈接文件會去/init.d/network找到腳本文件執行
S10network -> ../init.d/network
查看運行級別runlevel
現在我們是運行在3
切換運行級別init n
n為:0、1、2、3、4、5、6
補充:
init 0為關機,init 6為重啟系統。
最后補充:
如何管理系統服務
提要:
在目錄/etc/rc.d/init.d下有許多服務器腳本程序,稱為服務(service)。
在/etc/rc.d下有7個名為rc{0..6}.d的目錄,對應系統的7個運行級別。
1、
終端輸入命令chkconfig --list,查看各運行級別服務啟動情況。
2、
若想開機自啟某些服務,通過chkconfig 服務名 on
若想關閉,chkconfig 服務名 off
補充:
默認情況下,chkconfig會自啟動2345這四個級別
如果想自定義可以加上--level選項
測試完成
歡迎大家給予寶貴的意見或者建議。
歡迎大家補充或者共享一些其他的方法。
感謝支持。