正確的關機與重啟操作能保護資料完整性、避免檔案系統損壞。本文整理 CentOS/Linux 常用關機重啟指令、參數詳解與最佳實踐,幫助管理員安全管理伺服器生命週期。
| 命令 | 說明 | 適用場景 |
|---|---|---|
reboot | 立即重啟,相當於 shutdown -r now | 單用戶維護、快速重啟 |
shutdown -r now | 立即重啟(需 root),會通知所有登入用戶 | 生產環境標準重啟 |
shutdown -r +10 | 10 分鐘後重啟 | 排程維護窗口 |
shutdown -r 20:35 | 指定時間 20:35 重啟 | 非高峰時段維護 |
shutdown -c | 取消已排程的關機/重啟 | 誤操作救援 |
| 命令 | 說明 | 適用場景 |
|---|---|---|
halt | 停止系統,不切斷電源(視硬體而定) | 需手動斷電的舊硬體 |
poweroff | 關機並切斷電源(ACPI 支援) | 現代伺服器標準關機 |
shutdown -h now | 立即關機(需 root),同步檔案系統 | 生產環境標準關機 |
shutdown -h +10 | 10 分鐘後關機 | 延遲關機通知用戶 |
shutdown -c | 取消排程關機 | 同上 |
shutdown 透過發送信號給 init 進程(PID 1),要求改變 runlevel,確保所有服務正常停止、資料寫入磁碟。
# 語法
shutdown [選項] [時間] [警告訊息]
# 常用選項
-r 重啟
-h 關機(halt)
-k 僅發送警告,不實際關機
-c 取消排程
-t 指定切換 runlevel 前的等待秒數
Runlevel 對照:
實際調用 shutdown -h,殺死進程、同步檔案系統、停止核心。
# 參數
-n 不同步檔案系統(危險)
-w 僅寫入 wtmp 記錄
-f 強制關機,不經過 shutdown
-i 關機前關閉網路介面
-p 預設,關機時呼叫 poweroff
流程類似 halt,但觸發重啟而非關機。
init 0 # 關機
init 6 # 重啟
init 1 # 單用戶模式
telinit -i S # 進入單用戶模式(不發送通知)
警告:直接用 init 0/6 會跳過服務關閉腳本,可能造成資料遺失,生產環境請優先用 shutdown。
shutdown -h now 或 shutdown -r now,確保服務優雅停止。shutdown -r +5 "系統將在 5 分鐘後重啟進行核心更新"sync 確保快取寫入磁碟(shutdown 內建)。shutdown -c,並可加入取消原因訊息。/var/log/messages 排查。掌握 shutdown 系列命令是 Linux 管理員基本功。記住:有計劃、有通知、有同步,才是專業的伺服器生命週期管理。