Linux系統常用的關機或重啟命令shutdown、reboot、halt、poweroff、init 0及init 6的聯系與區別


Linux下常用的關機/重啟命令一般包括:

shutdown、reboot、halt、poweroff等,當然了我們可以使用init 運行等級runlevel 0即halt來關機,或使用init 運行等級runlevel 6即reboot來執行重啟。

當然了這些關機或重啟的方式也有一些細微差別。

首先明確一下linux/redhat系的runlevel運行級別和debian系的runlevel是有所不同的。

redhat系的runlevel定義如下:

runlevel 0: halt 系統停機狀態,系統默認運行級別不能設為0,否則不能正常啟動

runlevel 1: single user 單用戶工作狀態,root權限,用於系統維護,禁止遠程登陸

runlevel 2: multiuser without network 多用戶狀態(沒有NFS)

runlevel3: multiuser 完全的多用戶狀態(有NFS),登陸后進入控制台命令行模式

runlevel4: unuse 系統未使用,保留

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。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM