runlevel可以認為是系統狀態,形象一點,您可以認為runlevel有點象微軟的windows作業系統中的normal,safemode,和command prompt only。
linux系統有7個執行級別(runlevel)
執行級別0:系統停機狀態,系統預設執行級別不能設為0,否則不能正常啟動
執行級別1:單使用者工作狀態,root許可權,用於系統維護,禁止遠端登陸
執行級別2:多使用者狀態(沒有nfs)
執行級別3:完全的多使用者狀態(有nfs),登陸後進入控制台命令列模式
執行級別4:系統未使用,保留
執行級別5:x11控制台,登陸後進入圖形gui模式
執行級別6:系統正常關閉並重啟,預設執行級別不能設為6,否則不能正常啟動
s, s single user mode
執行級別的原理:
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為重啟系統
在執行模式中加入啟動服務
要在某個執行模式中加入乙個啟動服務,首先要新建該服務啟動指令碼,然後把它放置於/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作準備。
Linux Run Level 執行級別
檢視linux當前執行級別 runlevel 輸出為 空格分開的兩個字元 上乙個執行級別,若無則為 n 當前執行級別 執行級別 run level 指的是unix link系統下的不同執行模式.許多程式需要開機啟動,在windows叫做 服務service 在linux叫做 守護程序daemon l...
執行完畢再往下執行?
執行完畢再往下執行?左直拳我寫了一段 如下 busy 進行大工作量,耗時的操作 bigsetup free 其中,函式 busy 的作用是將滑鼠游標設為代表等待的沙漏形狀,並且顯示一幅忙碌的,而函式 free 則正好相反,將游標設回預設的箭頭狀,並顯示清閒的 private void busy pr...
同步執行和非同步執行
同步執行模式 所謂同步執行模式,是指語句在同步執行模式下,將始終保持對程式流的控制,直至 程式結束。如查詢操作,客戶機上的應用程式在向伺服器發出查詢操作的指令後,將 一直等待伺服器將查詢結果返回客戶機端,然後才繼續進行下一步操作。眾所周知,應用程式要從乙個大表中刪除所有的記錄將是非常耗時的,如果應用...