Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux 關機重啟命令大全:shutdown/reboot/halt/init 參數詳解與最佳實踐

編輯:Linux 教學

Linux 系統雖以穩定著稱,但正確的關機/重啟操作對資料完整性至關重要。不同於 Windows 的圖形化關機,Linux 透過命令列實現優雅關機,涉及快取同步、進程終止、檔案系統卸載等多個階段。本文系統整理 shutdown、reboot、halt、poweroff、init 五大命令的參數、流程、實戰範例與關機前檢查清單,助你避免資料損壞、服務中斷等風險。

一、五大命令參數速查表

命令常用參數說明
shutdown-h關機(halt)
-r重啟(reboot)
-k僅發送警告訊息,不實際關機
-c取消已排程的關機
-t 秒數警告訊息與實際關機間的延遲秒數
時間now、+分鐘、HH:MM(24制)
reboot/halt/poweroff-n關機前不同步磁碟快取(危險)
-w僅寫入 wtmp 記錄,不關機
-d不寫入 wtmp 記錄
-f強制關機/重啟,不經 init(危險)
-i關閉所有網路介面
-p關機時切斷電源(需硬體支援)
-h讓硬碟進入待機模式
init0切換至執行等級 0(關機)
6切換至執行等級 6(重啟)

二、Linux 關機核心流程(由內核發起)

  1. 同步快取:sync() 將記憶體髒頁刷入磁碟,確保資料不遺失。
  2. 記錄事件:在 /var/run/utmp、/var/log/wtmp 寫入關機/重啟記錄。
  3. 終止進程:SIGTERM → 等待 → SIGKILL 強制結束所有用戶進程。
  4. 卸載檔案系統:掛載點由讀寫轉為唯讀,根分區最後卸載。
  5. 硬體層面:ACPI 指令切斷電源(poweroff)或重設 CPU(reboot)。

警告:直接拔電或使用 -f 強制參數會跳過步驟 1、4,極易導致檔案系統損壞、資料庫損毀。

三、實戰範例:從立即執行到排程維護

關機指令

# 立即關機(最常用)
shutdown -h now

# 2:30 定時關機,廣播訊息
shutdown -h 02:30 '系統維護,請儲存工作'

# 透過 init 關機
init 0

# 立即關機並切斷電源
halt -p
poweroff

重啟指令

# 立即重啟
shutdown -r now
reboot
init 6

# 10 分鐘後重啟
shutdown -r +10 '例行維護重啟'

# 延遲 5 秒發送警告後重啟
shutdown -t5 -r now

# 僅發警告不重啟(測試廣播)
shutdown -k now '測試廣播'

# 取消排程關機/重啟
shutdown -c

四、關機前檢查清單(生產環境必做)

五、進階技巧與故障排查

1. 查看歷史重啟記錄

last reboot
# 輸出範例:
# reboot system boot 5.10.0-21-amd64 Sat Jul 30 13:44 - 21:39 (46+07:55)

2. 遠端觸發重啟(SSH 免密金鑰前提)

ssh root@server '/sbin/reboot'
ssh root@192.168.1.100 '/sbin/shutdown -r now'

3. Systemd 時代的新寫法(RHEL 7+/CentOS 7+/Ubuntu 16.04+)

systemctl poweroff    # 關機
systemctl reboot      # 重啟
systemctl halt        # 停機(不斷電)
systemctl suspend     # 待機
systemctl hibernate   # 休眠

systemctl 會自動處理依賴服務的優雅停止,是現代 Linux 管理的推薦方式。

六、總結:選對命令,守住資料

  • 日常維護:shutdown -r now 或 systemctl reboot(最安全、標準)。
  • 排程維護:shutdown -h HH:MM '原因'(自動廣播、可取消)。
  • 緊急情況:reboot / systemctl reboot --force(僅當系統無回應時)。
  • 絕對禁止:reboot -f、halt -f、直接斷電——除非接受資料遺失風險。

養成「關機前三確認、命令選標準、重啟看日誌」的習慣,是 Linux 運維人員專業素養的基本體現。

Copyright © Windows教程網 All Rights Reserved
檢查項目命令目的
線上用戶who / w確認無活躍業務操作
網路連線netstat -an / ss -an確認無關鍵傳輸、資料庫連線
背景進程ps aux / systemctl list-units --state=running確認無長時間任務(備份、編譯等)
廣播通知shutdown -k +30 '30分鐘後重啟'給用戶緩衝時間
手動同步sync; sync; sync雙重保險刷入快取