一、Linux的運行級別(runlevel)
1 運行級別0:系統停機狀態,系統默認運行級別不能設為0,否則不能正常啟動 2 運行級別1:單用戶工作狀態,root權限,用於系統維護,禁止遠程登陸 3 運行級別2:多用戶狀態(沒有NFS) 4 運行級別3:完全的多用戶狀態(有NFS),登陸后進入控制台命令行模式 5 運行級別4:系統未使用,保留 6 運行級別5:X11控制台,登陸后進入圖形GUI模式 7 運行級別6:系統正常關閉並重啟,默認運行級別不能設為6,否則不能正常啟動
二、運行級別的原理
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、進入其它運行級別用:(sudo) init N
7、另外init0為關機,init 6為重啟系統
另外,當使用runlevel查看運行級別時,結果會顯示前一次的運行級別和現在的運行級別,如果前次的運行級別為N,那么說明前次沒有運行級別(可能剛剛power on)
三、在運行模式中加入啟動服務
要在某個運行模式中加入一個啟動服務
1、首先要新建該服務啟動腳本
2、然后把它放置於/etc/rc.d/init.d或者/etc/init.d/(根據你的linux版本有所不同)目錄下
3、要將該啟動腳本與運行模式關聯起來,你需要這個運行模式的目錄下建立一個與/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作准備。