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

Linux 關機與重啟命令深度對比:shutdown/halt/reboot/init

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

shutdown —— 標準安全關機

語法:shutdown [選項] [時間] [警告信息]

  • -k:僅發送警告,不真正關機。
  • -r:關機後重啟(shutdown -r now = reboot)。
  • -h:關機不重啟(shutdown -h now = halt)。
  • -f:快速重啟,跳過 fsck(fast reboot)。
  • -n:不經 init 直接關機(不推薦,可能數據丟失)。
  • -c:取消已排程的關機。

機制:通知所有登錄用戶,凍結新登錄,發送 SIGTERM 給進程,隨後 SIGKILL,最後調用 init 0/6。僅 root 可用。

halt —— 停機

本質調用 shutdown -h。選項:

  • -w:僅寫 /var/log/wtmp 記錄,不關機。
  • -d:不寫 wtmp。
  • -f:強制關機,不調用 shutdown(危險)。
  • -i:關機前關閉網絡接口。
  • -p:默認,調用 poweroff 切斷電源。

reboot —— 重啟

參數與 halt 類似,但觸發重啟而非停機。reboot -f 同樣繞過 shutdown 直接重啟。

init —— 運行級別控制

init 為 PID 1 進程祖先。發送 SIGTERM 給 init 觸發運行級別切換:

  • init 0:關機(對應 runlevel 0)。
  • init 6:重啟(對應 runlevel 6)。
  • init 1:單用戶模式(維護模式),非重啟。

shutdown 內部即通過 init 實現。

最佳實踐建議

場景推薦命令原因
計劃性維護shutdown -h +10 "10分鐘後關機維護"通知用戶,緩衝時間
立即重啟shutdown -r now 或 reboot標準流程,數據安全
立即關機shutdown -h now 或 poweroff觸發 ACPI 斷電
單用戶救援init 1最小服務啟動
強制重啟(死機)reboot -f 或 Magic SysRq最後手段
Copyright © Windows教程網 All Rights Reserved