您好,登錄后才能下訂單哦!
這篇文章主要介紹Linux系統(tǒng)服務(wù)之init有什么用,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
Init進(jìn)程是所有進(jìn)程的發(fā)起者和控制者。因?yàn)樵谌魏位赨nix的系統(tǒng)(比如linux)中,它都是***個(gè)運(yùn)行的進(jìn)程,所以init進(jìn)程的編號(hào)(Process ID,PID)永遠(yuǎn)是1。如果init出現(xiàn)了問(wèn)題,系統(tǒng)的其余部分也就隨之而垮掉了。
init進(jìn)程有兩個(gè)作用。***個(gè)作用是扮演終結(jié)父進(jìn)程的角色。因?yàn)閕nit進(jìn)程永遠(yuǎn)不會(huì)被終止,所以系統(tǒng)總是可以確信它的存在,并在必要的時(shí)候以它為參照。如果某個(gè)進(jìn)程在它衍生出來(lái)的全部子進(jìn)程結(jié)束之前被終止,就會(huì)出現(xiàn)必須以init為參照的情況。此時(shí)那些失去了父進(jìn)程的子進(jìn)程就都會(huì)以init作為它們的父進(jìn)程。快速執(zhí)行一下ps -af 命令,可以列出許多父進(jìn)程ID(Parent Process ID,PPID)為1的進(jìn)程來(lái)。
init的第二個(gè)角色是在進(jìn)入某個(gè)特定的運(yùn)行級(jí)別(Runlevel)時(shí)運(yùn)行相應(yīng)的程序,以此對(duì)各種運(yùn)行級(jí)別進(jìn)行管理。它的這個(gè)作用是由/etc/inittab文件定義的。
1. /etc/inittab文件
/etc/inittab文件中包括了所有init啟動(dòng)運(yùn)行級(jí)別所必須的信息。這個(gè)文件中的每一行語(yǔ)句的格式如下所示:
id : runlevels: action : process
注意:以#開(kāi)始的語(yǔ)句是注釋語(yǔ)句??纯茨阕约旱?etc/inittab文件就可以發(fā)現(xiàn)其中充斥了大量的注釋語(yǔ)句。如果確實(shí)需要對(duì)/etc/inittab文件進(jìn)行什么改動(dòng)(一般不會(huì)出現(xiàn)這種情況的),記住加上一些注釋語(yǔ)句,解釋為什么要做那些修改。
2. Telinit命令
通知init在什么時(shí)候切換系統(tǒng)運(yùn)行級(jí)別的神秘力量實(shí)際上就是Telinit命令。這個(gè)命令有兩個(gè)命令行參數(shù):一個(gè)參數(shù)用來(lái)通知init準(zhǔn)備切換過(guò)去的運(yùn)行級(jí)別;另外一個(gè)是-tsec,其中的sec是在通知init之前需要等待的、以秒計(jì)算的時(shí)間。
注意:init是否真的切換運(yùn)行級(jí)別是由它自己決定的。很明顯,它經(jīng)常切換,否則這個(gè)命令就不會(huì)那么有用了。在大多數(shù)Unix操作系統(tǒng)的具體實(shí)現(xiàn)(包括linux)中,Telinit命令實(shí)際上只是一個(gè)對(duì)init程序的符號(hào)鏈接?;诖?,許多人更喜歡使用init直接切換到他們想去的運(yùn)行級(jí)別而不是使用Telinit。就個(gè)人而言,我發(fā)現(xiàn)使用Telinit切換運(yùn)行級(jí)別更便于理解和記憶。
以上是“Linux系統(tǒng)服務(wù)之init有什么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。