Linux 中/etc/inittab檔案的欄位及其說明(轉)

ba發表於2007-08-11
Linux 中/etc/inittab檔案的欄位及其說明(轉)[@more@]/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語法均適用於該欄位。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-947172/,如需轉載,請註明出處,否則將追究法律責任。

相關文章