runlevel能夠認爲是系統狀態,形象一點,您能夠認爲runlevel有點象微軟的windows操做系統中的Normal,safemode,和Command prompt only。linux
Linux系統有7個運行級別(runlevel)
運行級別0:系統停機狀態,系統默認運行級別不能設爲0,不然不能正常啓動
運行級別1:單用戶工做狀態,root權限,用於系統維護,禁止遠程登錄
運行級別2:多用戶狀態(沒有NFS)
運行級別3:徹底的多用戶狀態(有NFS),登錄後進入控制檯命令行模式
運行級別4:系統未使用,保留
運行級別5:X11控制檯,登錄後進入圖形GUI模式
運行級別6:系統正常關閉並重啓,默認運行級別不能設爲6,不然不能正常啓動
S, s Single user modewindows
運行級別的原理:
1。在目錄/etc/rc.d/init.d下有許多服務器腳本程序,通常稱爲服務(service)
2。在/etc/rc.d下有7個名爲rcN.d的目錄,對應系統的7個運行級別
3。rcN.d目錄下都是一些符號連接文件,這些連接文件都指向init.d目錄下的service腳本文件,命名規則爲K+nn+服務名或S+nn+服務名,其中nn爲兩位數字。
4。系統會根據指定的運行級別進入對應的rcN.d目錄,並按照文件名順序檢索目錄下的連接文件
對於以K開頭的文件,系統將終止對應的服務
對於以S開頭的文件,系統將啓動對應的服務
5。查看運行級別用:runlevel
6。進入其它運行級別用:init N
7。另外init0爲關機,init 6爲重啓系統服務器
在運行模式中加入啓動服務spa
要在某個運行模式中加入一個啓動服務,首先要新建該服務啓動腳本,而後把它放置於/etc/rc.d/init.d或者/etc/init.d/(根據你的linux版本有所不一樣),要將該啓動腳本與運行模式關聯起來,你須要這個運行模式的目錄下創建一個與/etc/rc.d/init.d/下啓動腳本的symbolic link,文件名的前綴一般爲SXX,XX爲數字,這個數字是用來控制該運行模式下服務的啓動順序。腳本的執行順序是按照數字大小升序執行,就是數字越小越先執行,下面就是一個在運行模式中加入啓動服務具體的例子:
$ cp myservice /etc/rc.d/init.d/
$ ln -s /etc/rc.d/init.d/myservice /etc/rc3.d/S99myservice
這樣,下次以runlevel 3啓動時,myservice就會自動啓動。操作系統
注意:命令行
多數的桌面的linux系統缺省的runlevel是5,用戶登錄時是圖形界面,而多數的服務器版本的linux系統缺省的runlevel是3,用戶登錄時是字符界面,runlevel 1和2除了調試以外不多使用,runlevel s和S並非直接給用戶使用,而是用來爲Single user mode做準備。調試