共計 1069 個字符,預計需要花費 3 分鐘才能閱讀完成。
這篇文章主要介紹 Linux 系統服務之 init 有什么用,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
Init 進程是所有進程的發起者和控制者。因為在任何基于 Unix 的系統(比如 linux)中,它都是 *** 個運行的進程,所以 init 進程的編號(Process ID,PID)永遠是 1。如果 init 出現了問題,系統的其余部分也就隨之而垮掉了。
init 進程有兩個作用。*** 個作用是扮演終結父進程的角色。因為 init 進程永遠不會被終止,所以系統總是可以確信它的存在,并在必要的時候以它為參照。如果某個進程在它衍生出來的全部子進程結束之前被終止,就會出現必須以 init 為參照的情況。此時那些失去了父進程的子進程就都會以 init 作為它們的父進程。快速執行一下 ps -af 命令,可以列出許多父進程 ID(Parent Process ID,PPID)為 1 的進程來。
init 的第二個角色是在進入某個特定的運行級別(Runlevel)時運行相應的程序,以此對各種運行級別進行管理。它的這個作用是由 /etc/inittab 文件定義的。
1. /etc/inittab 文件
/etc/inittab 文件中包括了所有 init 啟動運行級別所必須的信息。這個文件中的每一行語句的格式如下所示:
id : runlevels: action : process
注意:以 #開始的語句是注釋語句。看看你自己的 /etc/inittab 文件就可以發現其中充斥了大量的注釋語句。如果確實需要對 /etc/inittab 文件進行什么改動(一般不會出現這種情況的),記住加上一些注釋語句,解釋為什么要做那些修改。
2. Telinit 命令
通知 init 在什么時候切換系統運行級別的神秘力量實際上就是 Telinit 命令。這個命令有兩個命令行參數:一個參數用來通知 init 準備切換過去的運行級別;另外一個是 -tsec,其中的 sec 是在通知 init 之前需要等待的、以秒計算的時間。
注意:init 是否真的切換運行級別是由它自己決定的。很明顯,它經常切換,否則這個命令就不會那么有用了。在大多數 Unix 操作系統的具體實現(包括 linux)中,Telinit 命令實際上只是一個對 init 程序的符號鏈接。基于此,許多人更喜歡使用 init 直接切換到他們想去的運行級別而不是使用 Telinit。就個人而言,我發現使用 Telinit 切換運行級別更便于理解和記憶。
以上是“Linux 系統服務之 init 有什么用”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注丸趣 TV 行業資訊頻道!