Unix(Solaris)系統運行級別linux
系統運行級別有8種,分別爲:ubuntu
運行級別 意義網絡
0 進入PROM狀態(OK狀態)ide
1 管理狀態(全部文件系統都掛上的單用戶模式,禁止其餘用戶登陸)spa
2 多用戶模式(沒有網絡文件共享服務)操作系統
3 多用戶模式(有網絡文件共享服務)進程
4 未使用ip
5 退出操做系統並關機get
6 從新啓動機器it
S,s 單用戶模式
init命令用於改變操做系統的運行級別。
命令格式:
init [ 0123456Ss ]
例:
Booleanlab#init 6
也能夠用reboot 來重啓Unix系統
Linux的系統運行級別
簡單的說,運行級就是操做系統當前正在運行的功能級別。這個級別從1到6 ,具備不一樣的功能。
不一樣的運行級定義以下:(能夠參考Red Hat Linux 裏面的/etc/inittab)
0 - 停機(千萬不能把initdefault 設置爲0 )
1 - 單用戶模式
2 - 多用戶,沒有 NFS
3 - 徹底多用戶模式(標準的運行級)
4 - 沒有用到
5 - X11 (xwindow)
6 - 從新啓動 (千萬不要把initdefault 設置爲6 )
這些級別在/etc/inittab 文件裏指定。這個文件是init 程序尋找的主要文件,最早運行的服務是放在/etc/rc.d 目錄下的文件。在大多數的Linux 發行版本中,啓動腳本都是位於 /etc/rc.d/init.d中的。這些腳本被用ln 命令鏈接到 /etc/rc.d/rcn.d 目錄。(這裏的n 就是運行級0-6)
RedHat系統運行級別(Linux的一種,大體與Linux相同)
0:關機級別
1:單用戶運行級別,運行rc.sysinit和rc1.d目錄下的腳本
2:多用戶,但系統不會啓動NFS,字符模式,在有些linux系統中,級別2爲默認模式,具備網絡功能,如ubuntu.debian
3:多用戶,字符模式,系統啓動具備網絡功能,redhat經常使用運行級別
4:用戶自定義級別
5:圖形界面模式,redhat經常使用運行級別
6:重啓級別
S:單用戶運行級別,只運行rc.sysinit文件
s:單用戶運行級別,只運行rc.sysinit文件
single:單用戶運行級別,只運行rc.sysinit文件
emergency:只運行sulogin,通常系統出啓動錯誤時,會自動進入此級別,用戶需輸入root用戶密碼便可進入,再修改錯誤的內容。
修改:以管理員身份進入Linux,修改文件:/etc/inittab文件,找到"id:5:initdefault:"字段,其中的5就是X-Window,爲默認運行級別,咱們用vi inittab編輯它,把5改成3,:wq保存退出,並重啓便可。
運行級別的配置(RedHat)
運行級別的配置是在/etc/inittab行內進行的,以下所示:
12 : 2 : wait : / etc / init.d / rc 2
各字段解釋以下:
id:runlevels:action:process
id:是一個任意指定的四個字符之內的序列標號,在本文件內必須惟一;使用老版本的libc5(低於5.2.18)或a.out庫編譯出來的sysvinit限制爲2字符。注意:像getty之類的登錄進程必須使id字段與tty編號一致,如tty1須要id=1,許多老版本的登錄進程都遵循這種規則。
runlevels:表示這一行適用於運行那個/些級別(這裏是2,能夠有多個,表示在相應的運行級均須要運行);另外sysinit、boot、bootwait這三個進程會忽略這個設置值。
action:表示進入對應的runlevels時,init應該運行process字段的命令的方式,經常使用的字段值及解釋在附錄內。例子中的wait表示須要運行這個進程一次並等待其結束。
process:具體應該執行的命令。例子中的/etc/init.d/rc命令啓動運行級別2中應該運行的進程/命令,並負責在退出運行級時將其終止(固然在進入的runlevel中仍要運行的程序除外。)
當運行級別改變,而且正在運行的程序並無在新的運行級別中指定須要運行,那麼init會先發送一個SIGTERM 信號終止,而後是SIGKILL。
有效的action值以下:
respawn:表示init應該監視這個進程,即便其結束後也應該被從新啓動。
wait:init應該運行這個進程一次,並等待其結束後再進行下一步操做。
once:init須要運行這個進程一次。
boot:隨系統啓動運行,因此runlevel值對其無效。
bootwait:隨系統啓動運行,而且init應該等待其結束。
off:沒有任何意義。
initdefault:系統啓動後的默認運行級別;因爲進入相應的運行級別會激活對應級別的進程,因此對其指定process字段沒有任何意義。若是inittab文件內不存在這一條記錄,系統啓動時在控制檯上詢問進入的運行級。
sysinit:系統啓動時準備運行的命令。好比說,這個命令將清除/tmp。能夠查看/etc/rc.d/rc.sysinit腳本瞭解其運行了那些操做。
powerwait:容許init在電源被切斷時,關閉系統。固然前提是有U P S和監視U P S並通知init電源已被切斷的軟件。RH linux默認沒有列出該選項。
powerfail:同powerwait,但init不會等待正在運行的進程結束。RH linux默認沒有列出該選項。
powerokwait:當電源監視軟件報告"電源恢復"時,init要執行的操做。
powerfailnow:檢測到ups電源即將耗盡時,init要執行的操做,和powerwait/powerfail不一樣的喲。
ctrlaltdel:容許init在用戶於控制檯鍵盤上按下Ctrl + Alt + Del組合鍵時,從新啓動系統。注意,若是該系統放在一個公共場所,系統管理員可將Ctrl + Alt + Del組合鍵配置爲別的行爲,好比忽略等。
kbrequest:監視到特定的鍵盤組合鍵被按下時採起的動做,如今還不完善。