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 CentOS 關機與重啟命令大全:shutdown、reboot、halt、init 詳解

編輯:Linux 教學

前言

正確的關機與重啟操作能保護資料完整性、避免檔案系統損壞。本文整理 CentOS/Linux 常用關機重啟指令、參數詳解與最佳實踐,幫助管理員安全管理伺服器生命週期。

一、重啟系統命令

命令說明適用場景
reboot立即重啟,相當於 shutdown -r now單用戶維護、快速重啟
shutdown -r now立即重啟(需 root),會通知所有登入用戶生產環境標準重啟
shutdown -r +1010 分鐘後重啟排程維護窗口
shutdown -r 20:35指定時間 20:35 重啟非高峰時段維護
shutdown -c取消已排程的關機/重啟誤操作救援

二、關機命令

命令說明適用場景
halt停止系統,不切斷電源(視硬體而定)需手動斷電的舊硬體
poweroff關機並切斷電源(ACPI 支援)現代伺服器標準關機
shutdown -h now立即關機(需 root),同步檔案系統生產環境標準關機
shutdown -h +1010 分鐘後關機延遲關機通知用戶
shutdown -c取消排程關機同上

三、核心命令深度解析

1. shutdown - 安全關機的核心

shutdown 透過發送信號給 init 進程(PID 1),要求改變 runlevel,確保所有服務正常停止、資料寫入磁碟。

# 語法
shutdown [選項] [時間] [警告訊息]

# 常用選項
-r    重啟
-h    關機(halt)
-k    僅發送警告,不實際關機
-c    取消排程
-t    指定切換 runlevel 前的等待秒數

Runlevel 對照:

  • 0:停機
  • 1:單用戶模式
  • 6:重啟

2. halt - 簡單直接

實際調用 shutdown -h,殺死進程、同步檔案系統、停止核心。

# 參數
-n  不同步檔案系統(危險)
-w  僅寫入 wtmp 記錄
-f  強制關機,不經過 shutdown
-i  關機前關閉網路介面
-p  預設,關機時呼叫 poweroff

3. reboot - 重啟對應版

流程類似 halt,但觸發重啟而非關機。

4. init / telinit - 直接切換 Runlevel


init 0    # 關機
init 6    # 重啟
init 1    # 單用戶模式
telinit -i S  # 進入單用戶模式(不發送通知)

警告:直接用 init 0/6 會跳過服務關閉腳本,可能造成資料遺失,生產環境請優先用 shutdown。

四、最佳實踐建議

  1. 生產環境永遠用 shutdown:shutdown -h now 或 shutdown -r now,確保服務優雅停止。
  2. 排程維護用 +分鐘或 HH:MM:給用戶緩衝時間,shutdown -r +5 "系統將在 5 分鐘後重啟進行核心更新"
  3. 遠端操作前確認:確保有 OOB(如 IPMI、iDRAC)或串列主控台,避免關機後無法開機。
  4. 關機前同步:執行 sync 確保快取寫入磁碟(shutdown 內建)。
  5. 避免強制斷電:Linux 後台有大量進程,強制斷電極易導致檔案系統損壞、資料庫異常。

五、常見問題 FAQ

Q: shutdown -h now 和 poweroff 差別?
A: 前者經過完整關機流程(通知用戶、停止服務、同步磁碟),後者較直接但現代系統已整合,效果相近。建議統一用 shutdown。
Q: 如何取消已排程的關機?
A: 執行 shutdown -c,並可加入取消原因訊息。
Q: 關機卡住怎麼辦?
A: 等待數分鐘,若仍無反應,透過 OOB 強制重啟,啟動後檢查 /var/log/messages 排查。

總結

掌握 shutdown 系列命令是 Linux 管理員基本功。記住:有計劃、有通知、有同步,才是專業的伺服器生命週期管理。

Copyright © Windows教程網 All Rights Reserved