Linux下經常使用的關機/重啓命令通常包括:linux
shutdown、reboot、halt、poweroff等,固然了咱們可使用init 運行等級runlevel 0即halt來關機,或使用init 運行等級runlevel 6即reboot來執行重啓。ubuntu
固然了這些關機或重啓的方式也有一些細微差異。spa
首先明確一下linux/redhat系的runlevel運行級別和debian系的runlevel是有所不一樣的。命令行
redhat系的runlevel定義以下:進程
runlevel 0: halt 系統停機狀態,系統默認運行級別不能設爲0,不然不能正常啓動it
runlevel 1: single user 單用戶工做狀態,root權限,用於系統維護,禁止遠程登錄class
runlevel 2: multiuser without network 多用戶狀態(沒有NFS)network
runlevel3: multiuser 徹底的多用戶狀態(有NFS),登錄後進入控制檯命令行模式權限
runlevel4: unuse 系統未使用,保留debian
runlevel5: x11 X11控制檯,登錄後進入圖形GUI模式
runlevel6: reboot 系統正常關閉並重啓,默認運行級別不能設爲6,不然不能正常啓動
在debian/ubuntu中,runlevel的定義爲:
0 - Halt
1 - Single
2 - Full multi-user with display manager (GUI)
3 - Full multi-user with display manager (GUI)
4 - Full multi-user with display manager (GUI)
5 - Full multi-user with display manager (GUI)
6 - Reboot
能夠發現2~5級是沒有任何區別的。
Ubuntu系統默認的運行級別爲2。
所以,咱們可使用init 0來執行halt關機,使用init 6來執行reboot。
其實shutdown命令也是在執行完一系列操做後,好比說逐個關閉進程/服務,調用sync將數據寫入磁盤等,而後調用init0或init6來執行關機或重啓的。
而halt其實是調用shutdown -h now,能夠不理會系統當前狀態而直接關機,但在有的系統中,halt不會關閉電源,而只關閉了os。
下面咱們對這些命令的使用方法略作總結。