日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

Solaris的啟動和初始化過程( 二 )


圖8
inittab文件的格式:inittab文件中每一記錄都從新的一行開始,每個記錄項最多可有512個字符,每一項的格式通常如下:id:rstate:action:process,下面分別解釋 。其中id字段是最多4個字符的字符串,用來唯一標志表項 。
rstate(run state)字段定義該記錄項被調用時的運行級別,rstate可以由一個或多個運行級別構成,也可以是空,空則代表運行級別0~6 。當請求init改變運行級別時,那些rstate字段中不包括新運行級別的進程將收到SIGTERM警告信號,并且最后被殺死;只有a、b、c啟動的命令外(a、b、c不是真正的運行級別) 。
action字段告訴init執(zhí)行的動作,即如何處理process字段指定的進程,action字段允許的值及對應的動作分別為:
1)respawn:如果process字段指定的進程不存在,則啟動該進程,init不等待處理結束,而是繼續(xù)掃描inittab文件中的后續(xù)進程,當這樣的進程終止時,init會重新啟動它,如果這樣的進程已存在,則什么也不做 。
2)wait:啟動process字段指定的進程,并等到處理結束才去處理inittab中的下一記錄項 。
3)once:啟動process字段指定的進程,不等待處理結束就去處理下一記錄項 。當這樣的進程終止時,也不再重新啟動它,在進入新的運行級別時,如果這樣的進程仍在運行,init也不重新啟動它 。
4)boot:只有在系統(tǒng)啟動時,init才處理這樣的記錄項,啟動相應進程,并不等待處理結束就去處理下一個記錄項 。當這樣的進程終止時,系統(tǒng)也不重啟它 。
5)bootwait:系統(tǒng)啟動后,當?shù)谝淮螐膯斡脩裟J竭M入多用戶模式時處理這樣的記錄項,init啟動這樣的進程,并且等待它的處理結束,然后再進行下一個記錄項的處理,當這樣的進程終止時,系統(tǒng)也不重啟它 。
6)powerfail:當init接到斷電的信號(SIGPWR)時,處理指定的進程 。
7)powerwait:當init接到斷電的信號(SIGPWR)時,處理指定的進程,并且等到處理結束才去檢查其他的記錄項 。
8)off:如果指定的進程正在運行,init就給它發(fā)SIGTERM警告信號,在向它發(fā)出信號SIGKILL強制其結束之前等待5秒,如果這樣的進程不存在,則忽略這一項 。
【Solaris的啟動和初始化過程】9)ondemand:功能通respawn,不同的是,與具體的運行級別無關,只用于rstate字段是a、b、c的那些記錄項 。
10)sysinit:指定的進程在訪問控制臺之前執(zhí)行,這樣的記錄項僅用于對某些設備的初始化,目的是為了使init在這樣的設備上向用戶提問有關運行級別的問題,init需要等待進程運行結束后才繼續(xù) 。
11)initdefault:指定一個默認的運行級別,只有當init一開始被調用時才掃描這一項,如果rstate字段指定了多個運行級別,其中最大的數(shù)字是默認的運行級別,如果rstate字段是空的,init認為字段是0123456,于是進入級別6,這樣便陷入了一個循環(huán),如果inittab文件中沒有包含initdefault的記錄項,則在系統(tǒng)啟動時請求用戶為它指定一個初始運行級別 。
Process字段中進程可以是任意的守候進程、可執(zhí)行腳本或程序 。另外,在任何時候,可以在文件inittab中添加新的記錄項,級別Q/q不改變當前的運行級別,重新檢查inittab文件,可以通過命令init Q或init q使init進程立即重新讀取并處理文件inittab 。

推薦閱讀