執行級別
在作業系統上執行維護之前,或者修改系統執行級別之前,需檢查各種不同的執行級別。執行級別是乙個軟體配置,只允許一組選定的程序存在。
識別系統執行級別
本節描述如何識別系統正執行在什麼樣的執行級別,和如何檢視之前執行級別的歷史。系統可執行於如下表所列執行級別:
run level description
0-1 保留,為作業系統將來所用
2 包括執行於多使用者環境下的所有終端程序(process and daemons),此為預設的執行級別
3-9 可根據使用者偏愛[preferences]定義
a,b,c,h 非真正的執行級別,init 命令不能請求整個系統進入這些執行級別。更多資訊參考3、/etc/inittab 檔案
s,s,m,m 維護模式,系統從別的執行級別進入維護模式時,只有系統控制台可作為終端使用
識別當前的執行級別
命令列下,輸入如下命令:
# cat /etc/.init.state2#
系統顯示一位數字,就是系統當前的執行級別。
顯示前面的執行級別歷史
可使用 fwtmp 命令顯示前面執行級別的歷史。
1. 作為 root 使用者登入。
2. 鍵入如下命令,系統顯示如下資訊:
# /usr/lib/acct/fwtmp run-level 2 1 0 0062 0123 1132072406
tue nov 15 10:33:26 cst 2005
run-level 2 1 0 0062 0123 1132075614
tue nov 15 11:26:54 cst 2005
run-level 2 1 0 0062 0123 1132092491
tue nov 15 16:08:11 cst 2005
run-level 2 1 0 0062 0123 1132094756
tue nov 15 16:45:56 cst 2005
改變系統執行級別
系統首次啟動時,進入 /etc/inittab 檔案中 initdefault 條目定義的預設執行級別。系統以該執行級別執行,直到收到變更執行級別的訊號。可執行 lsitab 命令查詢系統預設的執行級別:
# lsitab init
init:2:initdefault:
#要改變執行,按下列步驟:
1. 檢查 /etc/inittab 檔案,確認要改變的執行級別支援正在執行的程序。getty 程序特別重要,因為其控制著系統控制台和其他登入的終端線訪問。確定 getty 程序在所有執行級別下可用。
2. 使用 wall 命令通知所有的使用者,打算修改執行級別,請求使用者登出。
3. 使用 telinit 命令,以想切換到的執行級別作為引數,例如:
# telinit m
telinit 命令
telinit 命令通過乙個單字元的引數控制 init 程序的操作,發訊號給 init 程序以執行適當的操作。通常,telinit 命令置系統於特定的執行級別。telinit 命令作為指令傳遞給 init 程序的引數如下:
0-9 告知 init 程序,置系統於 0-9 中的乙個執行級別
s,s,m,m 告知 init 程序,進入維護模式
a,b,c 告知 init 程序,只檢查 /etc/inittab 檔案中 run level 欄位有a, b, c 的那些記錄
q,q 告知 init 程序,重新檢查整個 /etc/inittab 檔案
n 傳送乙個訊號,停止正在 respawned 的程序
例如,要進入維護模式,鍵入如下命令:
# telinit m
注意:要進入維護模式,也可使用 shutdown -m 命令。
執行執行級別指令碼
執行級別指令碼可使使用者在改變執行級別時,啟動和停止選定的應用程式。以 k 為開頭的指令碼是停止指令碼,以 s 為開頭的指令碼是啟動指令碼。
這些指令碼位於其所屬特定執行級別的子目錄下,各子目錄的格式為rcn.d,n 代表執行級別,如下所示:
/etc/rc.d/rc2.d
/etc/rc.d/rc3.d
/etc/rc.d/rc4.d
/etc/rc.d/rc5.d
/etc/rc.d/rc6.d
/etc/rc.d/rc7.d
/etc/rc.d/rc8.d
/etc/rc.d/rc9.d
/etc/rc.d/rc 指令碼將執行指定目錄下找到的啟動指令碼,並在執行級別改變時執行。指令碼首先執行停止應用程式指令碼,然後執行啟動應用程式指令碼。
RAID 級別介紹
在大多數環境有4種raid級別可以考慮 raid 0 效能最優但是容錯性次優 raid 0 陣列是由直通 或條帶化 跨越兩個或者多個物理卷的乙個或者多個邏輯卷組成 聯機重做日誌多路復用進行保護,不用擔心容錯但是效能很重要 raid 1 容錯性最佳 在成本上是次優的 raid 1 是由映象跨越兩個或者...
MySQL事務隔離級別介紹
sql標準定義了4類隔離級別,包括了一些具體規則,用來限定事務內外的哪些改變是可見的,哪些是不可見的。低階別的隔離級一般支援更高的併發處理,並擁有更低的系統開銷。read uncommitted 讀取未提交內容 在該隔離級別,所有事務都可以看到其他未提交事務的執行結果。本隔離級別很少用於實際應用,因...
高效能mysql 隔離級別介紹
在sql的標準中定義了四種隔離級別。每一種級別都規定了乙個事務中所做的修改,哪些在事務核心事務間是可見的,哪些是不可見的。較低階別的隔離通常可以執行更高的併發,系統的開銷也更低。下面介紹一下四種隔離級別。未提交讀 read uncommit 在這個級別,事務中的修改,即使沒有提交,對其他事務也是可見...