萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux 關機與重啟命令總整理:shutdown、halt、reboot 參數與最佳實務

Linux 提供 shutdown、halt、reboot 三大關機/重啟指令,參數豐富且行為略有差異。本文系統整理參數對照、權限需求、常見失敗原因 (如一般用戶無權限、需 su - 切換 root) 與生產環境建議流程。

關機重啟命令示意圖

shutdown:標準關機/重啟指令

常用參數

參數說明
-h關機並切斷電源 (Halt)
-r重新開機 (Reboot)
-c取消已排程的關機
-k僅發送警告訊息,不實際關機
-t 秒延遲秒數後執行
時間指定時間 (hh:mm / +m / now)
-f重啟時跳過 fsck
-F重啟時強制 fsck
-n不經 init 直接關機 (不建議)

實戰範例

# 立即關機
shutdown -h now
# 10 分鐘後重啟並通知使用者
shutdown -r +10 "系統維護,10 分鐘後重啟"
# 取消排程
shutdown -c
# 定時關機 (23:30)
shutdown -h 23:30

權限問題解決

一般使用者執行 shutdown 會提示 command not found 或權限不足。正確流程:

su - root
# 輸入 root 密碼
shutdown -h now

su - (帶減號) 會載入 root 環境變數 (含 /sbin 路徑),su 不帶減號則保留原環境,可能找不到指令。

halt:簡易關機

halt            # 等同 shutdown -h
halt -p         # 關機並切斷電源 (預設)
halt -f         # 強制關機,不經 shutdown (緊急時使用)
halt -w         # 僅寫入 /var/log/wtmp,不關機

reboot:重新開機

reboot          # 正常重啟
reboot -f       # 強制重啟,不經 shutdown
reboot -w       # 僅寫入 wtmp 記錄
reboot -i       # 關閉網路介面後重啟

若 runlevel 為 0 或 6 直接重啟,否則透過 shutdown -r 執行。

systemd 時代建議指令

生產環境關機 SOP

  1. 通知相關人員 / 發送廣播:wall "10 分鐘後關機維護"
  2. 停止業務服務:systemctl stop app-service
  3. 同步檔案系統:sync
  4. 執行關機:systemctl poweroff 或 shutdown -h +1

小結

shutdown 為最標準、功能最完整的指令,支援排程、廣播、取消;halt/reboot 為簡易別名。現代 systemd 系統建議直接使用 systemctl poweroff/reboot,語意清晰且整合服務管理。務必以 su - 取得完整 root 環境再執行關機指令。

copyright © 萬盛學電腦網 all rights reserved
操作systemd 指令傳統指令
關機systemctl poweroffshutdown -h now
重啟systemctl rebootshutdown -r now
暫停systemctl suspend-
休眠systemctl hibernate-
混合睡眠systemctl hybrid-sleep-