今天有一臺服務器沒有正常啓動,緣由是有一個服務沒有啓動起來,由於A服務須要B服務啓動以後才能正常啓動,因此須要調整A,B服務的啓動順序。在網上查找了一些資料,總結了一下,以備之後須要。linux
要知道服務的啓動順序,就須要先知道服務如何啓動的。linux有7個運行級別,用戶可選擇不一樣的運行級別。進入/etc/rc.d/目錄,可查看到對應從rc0.d到rc6.d等7個目錄,這些目錄即對應7個級別。服務器
進入rc3.d目錄,可看到各類以K或者S開始的服務,K表示啓動,S表示中止,然後面的數字就表示啓動順序。咱們以熟悉的network服務爲例,這裏只是個連接,其實仍是指向/etc/init.d/network,其啓動值爲10。ide
在rc?.d中的都是連接文件,連接在/etc/init.d中的腳本。spa
在腳本中,有#chkconfig 一行,這一行描述了當設置爲自啓動的時候,這個腳本的啓動優先級和關閉的時候的關閉優先級。虛擬機
例如,咱們看network腳本:it
咱們能夠看出,network腳本在被設置爲自啓動的時候,只在2345級裏會自啓動,啓動優先級是10,關閉優先級是90。因此,若是要設置本身腳本自動啓動,那麼也須要有這一行。class
這是個人腳本,很簡單,就是在腳本啓動的時候查看network的狀態,將結果寫入tmp中的network.res文件中。test
在腳本中我設置的啓動優先級是9,比network小,也就是說當個人腳本啓動的時候,network尚未啓動的。network
設置個人腳本自動啓動:chkconfig --add testim
而後在/etc/rc.d/rc5.d中能夠看到我腳本的連接。
而後重啓虛擬機,查看tmp下的文件內容,看network啓動結果:
沒有啓動,達到目的。