linux 系統的7個運行級別


一、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作准備。

參考:https://www.jianshu.com/p/635e8480a75e


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM