熟悉linux核心設定檔之inittab篇(bczt)

來源:互聯網
上載者:User

  init進程是系統中所有進程的父進程,init進程繁衍出完成通常操作所需的子進程,這些操作包括:設定機器名、檢查和安裝磁碟及檔案系統、啟動系統日誌、配置網路介面並啟動網路和郵件服務,啟動列印服務等。Solaris中init進程的主要任務是按照inittab檔案所提供的資訊建立進程,由於進行系統初始化的那些進程都由init建立,所以init進程也稱為系統初始化進程。下面具體說明inittab檔案的格式。

  inittab檔案中每一記錄都從新的一行開始,每個記錄項最多可有512個字元,每一項的格式通常如下:id:rstate:action:process,下面分別解釋。

  1.id欄位是最多4個字元的字串,用來唯一標誌表項。

  2.rstate(run state)欄位定義該記錄項被調用時的運行層級,rstate可以由一個或多個運行層級構成,也可以是空,空則代表運行層級0~6。當請求init改變運行層級時,那些rstate欄位中不包括新運行層級的進程將收到SIGTERM警告訊號,並且最後被殺死;只有a、b、c啟動的命令外(a、b、c不是真正的運行層級)      

  # 0 - 停機(千萬不能把initdefault 設定為0 )

  # 1 - 單一使用者模式

  # 2 - 多使用者,沒有 NFS

  # 3 - 完全多使用者模式(標準的運行級)

  # 4 - 沒有用到

  # 5 - X11 (xwindow)

  # 6 - 重新啟動 (千萬不要把initdefault 設定為6 )

  3.action欄位告訴init執行的動作,即如何處理process欄位指定的進程,action欄位允許的值及對應的動作分別為:

  1)respawn:如果process欄位指定的進程不存在,則啟動該進程,init不等待處理結束,而是繼續掃描inittab檔案中的後續進程,當這樣的進程終止時,init會重新啟動它,如果這樣的進程已存在,則什麼也不做。

  2)wait:啟動process欄位指定的進程,並等到處理結束才去處理inittab中的下一記錄項。

  3)once:啟動process欄位指定的進程,不等待處理結束就去處理下一記錄項。當這樣的進程終止時,也不再重新啟動它,在進入新的運行層級時,如果這樣的進程仍在運行,init也不重新啟動它。

  4)boot:只有在系統啟動時,init才處理這樣的記錄項,啟動相應進程,並不等待處理結束就去處理下一個記錄項。當這樣的進程終止時,系統也不重啟它。

  5)bootwait:系統啟動後,當第一次從單一使用者模式進入多使用者模式時處理這樣的記錄項,init啟動這樣的進程,並且等待它的處理結束,然後再進行下一個記錄項的處理,當這樣的進程終止時,系統也不重啟它。

  6)powerfail:當init接到斷電的訊號(SIGPWR)時,處理指定的進程。

  7)powerwait:當init接到斷電的訊號(SIGPWR)時,處理指定的進程,並且等到處理結束才去檢查其他的記錄項。

  8)off:如果指定的進程正在運行,init就給它發SIGTERM警告訊號,在向它發出訊號SIGKILL強制其結束之前等待5秒,如果這樣的進程不存在,則忽略這一項。

  9)ondemand:功能通respawn,不同的是,與具體的運行層級無關,只用於rstate欄位是a、b、c的那些記錄項。

  10)sysinit:指定的進程在存取控制台之前執行,這樣的記錄項僅用於對某些裝置的初始化,目的是為了使init在這樣的裝置上向使用者提問有關運行層級的問題,init需要等待進程運行結束後才繼續。

  11)initdefault:指定一個預設的運行層級,只有當init一開始被調用時才掃描這一項,如果rstate欄位指定了多個運行層級,其中最大的數字是預設的運行層級,如果rstate欄位是空的,init認為欄位是0123456,於是進入層級6,這樣便陷入了一個迴圈,如果inittab檔案中沒有包含initdefault的記錄項,則在系統啟動時請求使用者為它指定一個初始運行層級

  4.Process欄位中進程可以是任意的守候進程、可執行指令碼或程式。

  另外:在任何時候,可以在檔案inittab中添加新的記錄項,層級Q/q不改變當前的運行層級,重新檢查inittab檔案,可以通過命令init Q或init q使init進程立即重新讀取並處理檔案inittab.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.