init配置文件說明
Linux 內(nèi)核啟動之后,啟動的第一個進程就是 init 進程。該進程從 /etc/inittab 文件中讀取配置,對系統(tǒng)進行一系列的初始化工作。下面我們來分析一下 /etc/inittab 文件的結(jié)構(gòu)。
本文引用地址:http://m.butianyuan.cn/article/201609/304125.htminittab 文件的每一行的基本格式如下所示:
l3:3:wait:/etc/rc.d/rc 3
可以看到,該行使用冒號分成了四段。各段的意思如下。
ID
用于標(biāo)識該配置項的 id,長度為 1~4 個字符。
運行級
列出在哪些運行級時執(zhí)行該配置項的命令。本例表明使用運行級 3 啟動系統(tǒng)時執(zhí)行該條指令。
動作
指示該條命令應(yīng)該如何執(zhí)行。本例中動作為 wait,表示在這條命令未執(zhí)行完之前不要去執(zhí)行下一條命令。
進程
執(zhí)行該項時需要啟動的可執(zhí)行文件名及其參數(shù)。
常見的動作如下所示。
initdefault: 該配置項指定系統(tǒng)的默認運行級。
respawn: 該配置項所指定的進程如果被結(jié)束,則重新啟動該進程。
wait: 該配置項指定的進程在運行結(jié)束之前不要執(zhí)行下一條配置項。
once: 切換到對應(yīng)的運行級之后,僅執(zhí)行指定的進程一次。
sysinit: 無論以什么運行級啟動,系統(tǒng)啟動時都要執(zhí)行該配置項指定的進程。
boot: 僅在系統(tǒng)啟動時執(zhí)行一次。
bootwait: 僅在系統(tǒng)啟動時執(zhí)行一次,在執(zhí)行結(jié)束之前不執(zhí)行下一條配置項
powerfail: 當(dāng)接收到UPS的斷電通知時執(zhí)行該項指定的進程。
powerwait: 與powerfail相同,但init會等待進程執(zhí)行結(jié)束。
powerokwait: 接收到UPS的供電通知時執(zhí)行。
ctrlaltdel: 當(dāng)用戶同時按下 Ctrl+Alt+Del 時執(zhí)行該項指定的進程。
下面我們看看實際的例子。這是 Fedore Core 3 的 /etc/inittab 文件。刪掉了其中的一些注釋,并適當(dāng)?shù)貙γ恳恍性黾恿私忉尅?/p>
# 下面用 initdefault 動作設(shè)置默認的運行級。注意該項沒有指定進程, # 但是最后的分號不要漏掉 # 0 - 關(guān)機 (不要將此運行級設(shè)為默認) # 1 - 單用戶模式 # 2 - 多用戶,不支持 NFS。若無網(wǎng)絡(luò)則與 3 相同 # 3 - 完整的多用戶模式 # 4 - 未使用 # 5 - X11圖形界面 # 6 - 重新啟動 (不要將此運行級設(shè)為默認) # id:5:initdefault: # 系統(tǒng)初始化,包括主機名設(shè)置、激活交換分區(qū)、檢查根分區(qū)、 # 以讀寫方式加載根分區(qū)、加載 /etc/fstab 中的分區(qū)、 # 激活磁盤配額、加載內(nèi)核模塊等功能 si::sysinit:/etc/rc.d/rc.sysinit # 執(zhí)行 rc 腳本,啟動各種系統(tǒng)服務(wù) l0:0:wait:/etc/rc.d/rc 0 l1:1:wait:/etc/rc.d/rc 1 l2:2:wait:/etc/rc.d/rc 2 l3:3:wait:/etc/rc.d/rc 3 l4:4:wait:/etc/rc.d/rc 4 l5:5:wait:/etc/rc.d/rc 5 l6:6:wait:/etc/rc.d/rc 6 # 接管 CTRL-ALT-DELETE,按下時重新啟動系統(tǒng) ca::ctrlaltdel:/sbin/shutdown -t3 -r now # 當(dāng) UPS 發(fā)來斷電通知時,準備在 2 分鐘之后關(guān)閉系統(tǒng) pf::powerfail:/sbin/shutdown -f -h +2 Power Failure; System Shutting Down # 如果在關(guān)閉系統(tǒng)之前 UPS 恢復(fù)供電,則取消關(guān)閉系統(tǒng) pr:12345:powerokwait:/sbin/shutdown -c Power Restored; Shutdown Cancelled # 在標(biāo)準運行級時啟動虛擬終端。這里準備了六個虛擬終端, # 要想改變虛擬終端的數(shù)目,只需要增刪這里的配置項即可 1:2345:respawn:/sbin/mingetty tty1 2:2345:respawn:/sbin/mingetty tty2 3:2345:respawn:/sbin/mingetty tty3 4:2345:respawn:/sbin/mingetty tty4 5:2345:respawn:/sbin/mingetty tty5 6:2345:respawn:/sbin/mingetty tty6 # 運行級 5 的時候啟動 X 的登錄管理器 x:5:respawn:/etc/X11/prefdm -nodaemon
評論