Linux啓動配置文件和運行等級runlevel

話題一:運行等級runlevellinux

linux操做系統自從開始啓動至啓動完畢須要經歷幾個不一樣的階段,這幾個階段就叫作runlevel,一樣,當linux操做系統關閉時也要經歷另外幾個不一樣的runlevel,下面咱們就準備詳細介紹一下runlevel,並向您展現一些小技巧來讓您的linux系統避免沒必要要的重啓動。windows

runlevel能夠認爲是系統狀態,形象一點,您能夠認爲runlevel有點象微軟的windows操做系統中的Normal,safemode,和command prompt only。進入每一個runlevel都須要啓動或關閉相應的一系列服務(services),這些服務(services)以初始化腳本的方式放置於目錄/etc/rc.d/rc?.d/或者/etc/rc?.d下面(?表明runlevel的對應序號)。服務器

在大多數的linux發行版本中,一般有8個runlevel:spa

0 停機
1 單用戶模式
2 多用戶,沒有 NFS
3 徹底多用戶模式
4 沒有用到
5 圖形界面
6 從新啓動
S s Single user mode操作系統

你能夠經過在命令行中輸入runlevel產看當前的runlevel。命令行

多數的桌面的linux系統缺省的runlevel是5,用戶登錄時是圖形界面,而多數的服務器版本的linux系統缺省的runlevel是3,用戶登錄時是字符界面,runlevel 1和2除了調試以外不多使用,runlevel s和S並非直接給用戶使用,而是用來爲Single user mode做準備。調試

linux的運行模式比起windows的啓動模式的優點在於:你能夠在系統空閒時使用init命令切換你如今使用的runlevel,另外,當你關閉或者啓動linux系統時你已經不知不覺中切換你的runlevel,系統關機進程須要調用runlevel(0或6)來關閉全部正在運行中的進程。orm

話題二:啓動配置文件blog

/etc/rc0.d~/etc/rc6.d,以及rcS.d等八個文件進程

這些文件夾分別包含每一個運行等級對應的init腳本。在實際使用中,它們通常經過符號連接到/etc/init.d文件夾下的實際文件。不過要注意的是,這些文件夾下的init腳本都有一些特別的名字,命名都以S(start)、K(kill)或D(disable)開頭,後面跟一個數字。當init進入一個運行等級的時候,它會按照數字順序運行全部以K開頭的腳本並傳入stop參數,除非對應的init腳本在前一個運行等級中沒有啓動。而後init按照數字順序運行全部以S開頭的腳本並傳入start參數。任何以D開頭的init腳本都會被忽略—這讓你能夠在指定的運行等級禁止一個腳本,或者你也能夠僅僅移除所有符號連接。因此若是你有兩個腳本,S01foo和S05bar,init首先會運行S01foo start,當它進入特定的運行等級後再執行S05bar start。

注:若是想添加本身的啓動腳本,你能夠本身寫啓動腳本,而後加入系統啓動配置文件,固然,你必需要寫正確,否則比較糟糕。

相關文章
相關標籤/搜索