Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Linux 關機/重啟指令大全:從 shutdown 到 init 的正確姿勢

編輯:Linux 系統常見問題解答

看似簡單的「關機/重啟」,實則關係到資料一致性、服務優雅停止、甚至叢集漂移。本文系統整理 11 種指令,解析底層機制差異,給出生產環境推薦用法。

一、關機指令對照表

指令效果適用場景備註
shutdown -h now立即關機生產環境標準會發送壁報通知所有登入使用者
shutdown -h +1010 分鐘後關機計劃性維護窗口可加訊息:shutdown -h +10 "10 分鐘後關機維護"
shutdown -h 05:30指定時間關機夜間排程24 小時制
poweroff立即關機單機、桌面端systemd 別名,不發壁報
halt停止 CPU,電源視硬體而定嵌入式/調試不一定切斷電源
init 0切換至 runlevel 0SysVinit 相容systemd 下為 systemctl isolate poweroff.target
shutdown -c取消排程關機/重啟誤操作補救僅限 shutdown 排程有效

二、重啟指令對照表

指令效果適用場景備註
shutdown -r now立即重啟生產環境標準同樣發壁報、跑關機腳本
shutdown -r 05:30定時重啟核心更新後排程
reboot立即重啟單機、測試環境systemd 別名
init 6切換至 runlevel 6SysVinit 相容systemd 下為 systemctl isolate reboot.target

三、核心差異:為什麼推薦 shutdown?

  1. 通知機制:shutdown 會透過 wall 向所有 pts/tty 發送警告,給使用者存檔機會;reboot/poweroff 不會。
  2. 服務優雅停止:shutdown 觸發 systemd(或 SysVinit)依相依順序停止服務、同步檔案系統、卸載掛載點;暴力指令可能跳過部分步驟。
  3. 權限控管:shutdown 需 root 或 wheel 群組;reboot/poweroff 在 systemd 下透過 polkit 允許本地使用者執行,權限模型不同。
  4. 底層實作:在 /sbin 下可見 halt、poweroff、reboot → systemctl 的符號連結;shutdown 為獨立二進制,邏輯更完整。

四、生產環境 SOP

# 1. 確認無關鍵任務執行中
ps aux | grep -E '(backup|migrate|deploy)'

# 2. 通知團隊(可整合至 ChatOps)
shutdown -r +5 "計劃性重啟:核心更新 5.15.0-105,預計 5 分鐘後執行"

# 3. 等待維護窗口,觀察 wall 訊息
# 4. 若需取消
shutdown -c

# 5. 重啟後驗證
systemctl status critical-service
journalctl -b -1 -p err..alert  # 檢查上一次開機錯誤

五、特殊情況處理

  • 系統卡死無法正常關機:sync; sync; sync; reboot -f(-f 強制不經 systemd,最後手段)
  • 遠端 SSH 會話中重啟怕斷網:nohup shutdown -r +1 & 或使用 screen/tmux 保持會話
  • 叢集節點:先 crm node standby 或 pcs cluster stop 剔除叢集,再 shutdown

一句话總結: 有 shutdown 就用 shutdown;它是唯一同時具備「通知、優雅停服、同步盤面、權限可控」四大特性的指令。其餘指令留給單機測試、嵌入式或緊急搶障時使用。

Copyright © Windows教程網 All Rights Reserved