Github地址:https://github.com/mingongge/Learn-a-Linux-command-every-day
命令介紹
shutdown命令可以用來進行關機程序,並且在關機以前傳送訊息給所有使用者正在執行的程序,shutdown也可以用來重開機。使用權限:系統管理者。
關機之前,所有進程都會受到shutdown指令所發送的關閉進程信號,然後向init程序發送信號,要求它改變運行等級(runlevel)。
Linux系統有 7 個運行級別:
- 運行級別0:系統停機狀態,系統默認運行級別不能設爲0,否則不能正常啓動;
- 運行級別1:單用戶工作狀態,root權限,用於系統維護,禁止遠程登陸;
- 運行級別2:多用戶狀態(沒有NFS);
- 運行級別3:完全的多用戶狀態(有NFS),登陸後進入控制檯命令行模式;
- 運行級別4:系統未使用,保留;
- 運行級別5:X11控制檯,登陸後進入圖形GUI模式;
- 運行級別6:系統正常關閉並重啓,默認運行級別不能設爲6,否則不能正常啓動。
命令格式
shutdown [選項] [參數]
參數說明
-c
#cancel,其他用戶可以取消目前正在執行的關機程序,或者Control-C終止shutdown程序
-k
#僅僅向每個登錄用戶發出警告信息,並不真正關機
-f Ubuntu系統獨有,CentOS系統沒有
#重新啓動時不執行fsck文件系統檢查命令;
-F Ubuntu系統獨有,CentOS系統沒有
#重新啓動時執行fsck文件系統檢查命令;
-h
#關機(halt)或關閉電源(power off),至於選擇哪一種取決於系統的關機腳本(有時候可以在 BIOS 中更改)
-H
#關機(halt);
-P
#關機,等價於 poweroff 命令
-n
#不調用 init 程序進行關機,而由 shutdown 自己進行
-r
#重啓。等價於 reboot 命令
-t <秒數>
#送出警告信息和刪除信息之間要延遲多少秒
--help
#顯示幫助信息
--version
#顯示版本
示例詳解
1、立刻關機
shutdown -H now
//或
halt
2、系統在今天的指定10分鐘後關機
# shutdown -h 10
3、重新啓動計算機
shutdown -r now
//或
reboot
4、發送後面的警告信息,再過30分鐘系統會自動重啓。
shutdown -r +30 'The system will reboot 30mins later'
5、僅發出警告,系統並不會關機。
shutdown -k now 'This is just a warning message'
6、立即關機並切斷電源。
shutdown -P now
//或
poweroff
7、惡作劇,僅發出警告,什麼都不會發生。
shutdown +10 -k '10分鐘後關機'
8、設置系統在那個時間點關機
shutdown -h 12:30
或後臺執行
shutdown -h 12:30 &
9、取消shutdown命令執行
如果執行了下面的命令,突然發現時間上有衝突,可以使用ctrl+c取消
shutdown -h 12:3
Shutdown cancelled.
或者,在另一個命令行窗口,使用下面的命令取消。
shutdown -c