mkitab是一種在 /etc/inittab 檔案中製作記錄的計算機命令。
mkitab 命令
用途
在 /etc/inittab 檔案中製作記錄。
語法
mkitab [ -i Identifier ] { [ Identifier ] : [ RunLevel ] : [ Action ] : [ Command ] }
描述
mkitab 將記錄添加到 /etc/inittab 檔案中。Identifier:RunLevel:Action:Command 參數字元串將新的項指定到 /etc/inittab 檔案。可以使用 -i Identifier 標誌在指定記錄後插入一條記錄。此命令查找 Identifier 參數指定的欄位,並且在 -i Identifier 標誌指定的記錄後添加一條新的記錄。
參數
Identifier:RunLevel:Action:Command 參數字元串在 /etc/inittab 檔案中指定了該記錄,如下:
Identifier 14 個字元的參數唯一標識了一個對象。Identifier 必須是唯一的。如果 Identifier 不唯一,則該命令不會成功。不能更改 Identifier,如果您嘗試更改它,則該命令不會成功。
RunLevel 20 個字元的參數定義了可以由 Identifier 處理的運行級別。由 init 命令啟動的每個進程可以分配到能啟動它的一個或多個運行級別中。
Action 20 個字元的參數通知 init 命令如何處理指定的 Command 參數。init 命令識別以下操作:
respawn
如果此記錄中標識的進程不存在,則啟動此進程。如果當前存在此進程,則不做任何操作並繼續掃描 /etc/inittab 檔案。
wait
當 init 命令進入此記錄指定的運行級別時,啟動此進程並等待它結束。由於 init 命令在相同的運行級別中,故所有 /etc/inittab 檔案的後繼讀取忽略了此對象。
once
當 init 命令進入此記錄指定的運行級別時,啟動此進程,不會等它停止,並且當它停止時並不重新啟動此進程。如果系統在進程運行時進入了一個新的運行級別,則此進程不會重新啟動。
boot
僅當系統引導並且讀取 /etc/inittab 檔案時讀取此記錄。init 命令啟動此進程。不等待進程結束,並且當它停止時,不會重新啟動此進程。這個進程的運行級別應該是預設的,或者在啟動時它必須與 init 命令所指定的運行級別相匹配。
bootwait
僅當系統引導並且讀取 /etc/inittab 檔案時讀取此記錄。init 命令啟動了此進程。等待進程結束,並且當它停止時,不會重新啟動此進程。
powerfail
僅當 init 命令收到一個 SIGPWR 電源失敗信號時,才啟動此記錄所指定的進程。
powerwait
僅當 init 命令收到一個 SIGPWR 電源失敗信號時,才啟動此記錄所指定的進程,並等待直到它停止,才繼續處理 /etc/inittab 檔案。
off
如果此記錄所識別的進程當前正在運行,則傳送警告信號 SIGTERM,並且在傳送 SIGKILL 終止信號前等待 20 秒。如果此進程不存在,則忽略此行。
hold
當此記錄所識別的進程終止時,不會啟動一個新的進程。hold 操作只能由 phold 命令激活。
ondemand
與 respawn 功能相同。如果此記錄所標識的進程不存在,則啟動此進程。如果當前存在此進程,則不做任何操作並繼續掃描 /etc/inittab 檔案。當使用 a、b 或 c 運行級別時,指定此操作以執行 respawn 操作。
initdefault
僅當 init 命令是原始調用時,才處理此操作的一行。init 命令使用此行以確定原始輸入的運行級別。此命令通過取得 RunLevel 參數指定的最高運行級別進行處理,並作為命令的初始狀態使用它。如果 RunLevel 參數為空,它的值解釋為 0123456789,並且 init 命令輸入了一個 9 的運行級別。如果 init 命令沒有查找到 inittab 檔案中的 initdefault 行,那么它就在初始程式裝入時間(IPL)中請求一個初始運行級別。
sysinit
在 init 命令嘗試訪問控制台之前,啟動此記錄所指定的進程。例如,您可以使用它初始化設備。
Command 一個 1024 字元的欄位指定了 shell 命令。
注意: 為了避免系統檔案可能的損壞,必須在帶重定向的 Command 參數中指定 stdin、stdout 和 stderr 檔案,或者它們必須由命令行驅動的程式明確地打開。
標誌
-i Identifier 指定新記錄跟隨在 /etc/inittab 檔案中哪條記錄之後。
示例
1. 要將新的記錄添加到 /etc/inittab 檔案中,告知 init 命令以處理 tty2 登錄,請輸入:
mkitab "tty002:2:respawn:/usr/sbin/getty /dev/tty2"
2. 要將新的記錄添加到 /etc/inittab 檔案中,告知 init 命令在啟動 /usr/sbin/srcmstr 檔案之後執行 /etc/rc.tcpip 檔案,請輸入:
mkitab -i srcmstr "rctcpip:2:wait:/etc/rc.tcpip > /dev/console"
3. 要將新的記錄添加到 /etc/inittab 檔案中,告知 init 命令執行 /etc/rc 檔案並將它的輸出傳送到引導日誌上,請輸入:
mkitab ((rc:2:wait:/etc/rc 2>&1 | alog -tboot > /dev/console))