Linux運行等級瞭解(入門級)

1、Linux開機順序

借用網上的一張開機順序圖片,明瞭的展示開機啓動順序

wKiom1lAqfehwysHAAAX-C54dW0110.png

2、Linux的運行級別

運行級別:不同級別下啓動的服務不同,判定級別不同。

0-6:7個級別。

0:表示halt,關機

1:單用戶模式 single user mode,直接登陸管理員,無需密碼。

2:多用戶模式,multi user mode,no nfs。不啓用nfs。

3: 正常多用戶模式, multi user mode ,text mode,文本模式。

4:reserved,保留級別,此前尚未定義使用。

5:正常多用戶模式,multi user mode,graphic mode,圖形模式。

6:表示reboot,重啓。

默認級別,由inittab文件來控制。inittab中定義了默認運行級別,它是內核加載完成後運行init多 要讀取的第一個配置文件。

這7個運行級別,默認對應着Linux目錄結構中/etc/rc.d/下的7個rc#.d

spacer.gifwKioL1lAqjXD4RusAAAtyar3K44286.png

Linux的啓動全在這裏,配合上面的開機流程順序,結構一目瞭然。

3、Linux運行級別的切換機制。

在每個rc#.d目錄下,都有分別以K開頭和以S開頭的腳本文件。

spacer.gifwKiom1lAqkazmUFdAACc_PPr8Do210.png

以K開頭的文件意義爲,當運行等級轉換成該等級後,將會kill掉這些服務,也就是服務名stop。相應的,以S開頭的腳本則是轉換成該等級後,將會啓動的腳本。

以上動作的執行者爲/etc/rc.d/下的rc腳本,透過這個腳本可以看出linux運行等級轉換機制以及動作執行順序。

spacer.gifwKioL1lAql6TbLQsAAAxzj7FLgA875.png

在等級切換之後,首先執行kill腳本,將rc#.d目錄下以K開頭的服務關閉。K或者S後面都會跟一個數字,在執行for i in /etc/rc$runlevel.d/K*這個循環時,腳本將會以K後面的數字從小到大進行排列,那麼關閉也就是按照這個數字從小到大順序進行的,同理,Start腳本也是如此。



由此說來,爲什麼init0是關機,init6是重啓呢?對比一下rc0.d和rc6.d就明瞭。

spacer.gif

wKiom1lAqoDCUxOuAACiGMbucss925.png

wKioL1lAqoHhFhZbAACiWJ0VTwg182.png

spacer.gif

他們雖然調用的同一個腳本,但是因爲調用時腳本名稱不同,所以根據下面/etc/rc.d/init.d/halt腳本的內容可以知道,這是兩個不同的動作。

spacer.gifwKiom1lAqpbiBNqXAAAiZSxurio517.png

4、與runleve相關的常用命令

runlevel:查看當前系統的運行等級。

who -r:查看當前系統的運行等級。

init #:切換運行等級。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章