Linux upstart启动方式详解
?Ubuntu從6.10開始逐步用Upstart()代替原來(lái)的SysVinit進(jìn)行服務(wù)進(jìn)程的管理。RHEL(CentOS)也都從版本6開始轉(zhuǎn)用Upstart代替以往的init.d/rcX.d的線性啟動(dòng)方式。
SysVinit守護(hù)進(jìn)程(sysvinit軟件包)是一個(gè)基于運(yùn)行級(jí)別的系統(tǒng),它使用運(yùn)行級(jí)別(單用戶、多用戶以及其他更多級(jí)別)和鏈接(位于/etc /rc?.d目錄中,分別鏈接到/etc/init.d中的init腳本)來(lái)啟動(dòng)和關(guān)閉系統(tǒng)服務(wù)。SysV啟動(dòng)是線性、順序的。一個(gè)S20的服務(wù)必須要等待S19啟動(dòng)完成才能啟動(dòng),如果一個(gè)啟動(dòng)要花很多時(shí)間,那么后面的服務(wù)就算完全無(wú)關(guān),也必須要等。
UpStart(Upstart init daemon)是基于事件的啟動(dòng)系統(tǒng),它使用事件來(lái)啟動(dòng)和關(guān)閉系統(tǒng)服務(wù)。Upstart是是并行的,只要事件發(fā)生,服務(wù)可以并發(fā)啟動(dòng)。這種方式無(wú)疑要優(yōu)越得多,因?yàn)樗梢猿浞掷矛F(xiàn)在計(jì)算機(jī)多核的特點(diǎn),大大減少啟動(dòng)所需的時(shí)間。
Upstart是基于事件的,當(dāng)系統(tǒng)中的什么情況發(fā)生變化時(shí),它會(huì)運(yùn)行某個(gè)特定的程序。這里被運(yùn)行的程序多半是用來(lái)啟動(dòng)或終止服務(wù)的腳本。這個(gè)配置方式和System V在系統(tǒng)進(jìn)入某個(gè)運(yùn)行級(jí)別的時(shí)候運(yùn)行init腳本的鏈接的概念實(shí)際上是非常類似的。只不過(guò)Upstart更加靈活一些,Upstart不僅能在運(yùn)行級(jí)別改變的時(shí)候啟動(dòng)或終止服務(wù),也能在接收到系統(tǒng)發(fā)生其他改變的信息的時(shí)候啟動(dòng)或終止服務(wù)。這些系統(tǒng)的改變被稱為“事件”。例如,當(dāng)Upstart從udev接收到運(yùn)行時(shí)文件系統(tǒng)加載、打印機(jī)安裝或其他類似的設(shè)備添加或刪除的信息,并采取相應(yīng)的行動(dòng)。Upstart也可以在系統(tǒng)啟動(dòng)、關(guān)閉或某個(gè)任務(wù)狀態(tài)改變的時(shí)候啟動(dòng)或關(guān)閉服務(wù)。
轉(zhuǎn)載于:https://www.cnblogs.com/wspblog/p/4295803.html
總結(jié)
以上是生活随笔為你收集整理的Linux upstart启动方式详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Maven实战系列文章目录
- 下一篇: 高性能mysql主存架构