/etc/inittab文件的字段及其說明是什么樣的,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
/etc/inittab文件中每個登記項的結構都是一樣的,共分為以冒號“:”分隔的4個字段。具體如下:
identifier : run_level : action : process
其中,各字段以及與其相關的說明如下:
identifier 登記項標識符,最多為4個字符。用于惟一地標識/etc/inittab文件中的每一個登記項
run_level 系統運行級,即執行登記項的init級別。用于指定相應的登記項適用于哪一個運行級,即在哪一個運行級中被處理。如果該字段為空,那么相應的登記項將適用于所有的運行級。在該字段中,可以同時指定一個或多個運行級,其中各運行級分別以數字0.1.2.3.4.5.6或字母a、b、c表示,且無需對其進行分隔。
action 動作關鍵字。用于指定init(M)命令或進程對相應進程(在“process”字段定義)所實施的動作。具體動作包括:
1、boot:只有在引導過程中,才執行該進程,但不等待該進程的結束;當該進程死亡時,也不重新啟動該進程。
2、bootwait:只有在引導過程中,才執行該進程,并等待進程的結束:當該進程死亡時,也不重新啟動該進程。實際上,只有在系統被引導后,并從單用戶方式進入多用戶方式時,這些登記項才被處理;如果系統的默認運行級設置為2(即多用戶方式),那么這些登記項在系統引導后將馬上被處理。
3、initdefault:指定系統的默認運行級。系統啟動時,init將首先查找該登記項。如果存在init將據此決定系統最初要進入的運行級。具體來說,init將指定登記項“run_level"字段中的最大數字(即最高運行級)為當前系統的默認運行級;如果該字段為空,那么將其解釋為“0123456”,并以“6”作為默認運行級。如果不存在該登記項,那么init將要求用戶在系統啟動時指定一個最初的運行級。
4、off:如果相應的進程正在運行,那么就發出一個警告信號,等待20秒后,再通過殺死信號強行終止該進程。如果相應的進程并不存在那么就忽略該登記項。
5、once:啟動相應的進程,但不等待該進程結束便繼續處理/etc/inittab文件中的下一個登記項;當該進程死亡時,init也不重新啟動該進程。注意:在從一個運行級進入另一個運行級時,如果相應的進程仍然在運行,那么init就不重新啟動該進程。
6、ondemand:與“respawn”的功能完全相同,但只用于運行級為a、b或c的登記項。
7、powerfail:只在init接收到電源失敗信號時執行相應的進程,但不等待該進程結束。
8、powerwait:只在init接收到電源失敗信號時執行相應的進程,并在繼續對/etc/inittab文件進行任何處理前等待該進程結束。
9、respawn:如果相應的進程還不存在,那么init就啟動該進程,同時不等待該進程的結束就繼續掃描/etc/inittab文件;當該進程死亡時,init將重新啟動該進程。如果相應的進程已經存在,那么init將忽略該登記項并繼續掃描/etc/inittab文件。
10、sysinit:只有在啟動或重新啟動系統并首先進入單用戶時,init才執行這些登記項。而在系統從運行級1-6進入單用戶方式時,init并不執行這些登記項。"action”字段為“sysinit”的登記項在“run_level”字段不指定任何運行級。
11、wait:啟動進程并等待其結束,然后再處理/etc/inittab文件中的下一個登記項。
process 所要執行的shell命令。任何合法的shell語法均適用于該字段。
看完上述內容,你們掌握/etc/inittab文件的字段及其說明是什么樣的的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。