Linux 核心號稱穩定,但硬體故障、核心恐慌、驅動程式錯誤仍可能導致系統完全凍結。強制斷電會造成檔案系統損壞、資料遺失。Linux 提供 **Magic SysRq Key** 組合鍵,讓你在鍵盤層面向核心發出低階指令,完成**安全重啟**。
按住 Alt + SysRq(通常為 PrtSc),**依序**輸入:
R E I S U B
手勢建議:左手小指按 Ctrl、拇指按 Alt、右手小指按 SysRq,其餘手指依序敲擊 R-E-I-S-U-B。
| 鍵 | 動作 | 說明 |
|---|---|---|
| R | Raw → XLATE | 將鍵盤從原始模式切換回 XLATE 模式,確保後續按鍵被核心正確解讀。 |
| E | SIGTERM | 向 **init 以外所有進程** 發送 SIGTERM (15),請求優雅結束(釋放資源、寫入快取)。 |
| I | SIGKILL | 向 **init 以外所有進程** 發送 SIGKILL (9),強制終止未回應的進程。 |
| S | Sync | 執行 sync(),將所有檔案系統快取寫入磁碟(掛載點同步)。 |
| U | Remount RO | 將所有已掛載檔案系統**重新掛載為唯讀**,防止後續寫入損壞。 |
| B | Reboot | **立即重啟**,不解掛載、不同步(因前兩步已完成)。 |
# 檢查核心參數 cat /proc/sys/kernel/sysrq # 1 = 啟用(預設多為 1),0 = 關閉 # 永久啟用 echo "kernel.sysrq = 1" >> /etc/sysctl.d/99-sysrq.conf sysctl --system
| 組合 | 功能 |
|---|---|
| Alt+SysRq+H | 顯示說明選單 |
| Alt+SysRq+P | 輸出當前暫存器/堆疊(除錯用) |
| Alt+SysRq+T | 顯示所有執行緒狀態 |
| Alt+SysRq+M | 輸出記憶體資訊到主控台 |
| Alt+SysRq+L | 殺死當前虛擬終端機上的所有進程 |
記住 **REISUB** = **R**eboot **E**ven **I**f **S**ystem **U**tterly **B**roken。這是每個 Linux 管理員必備的「急救鑰匙」,關鍵時刻能挽救檔案系統與資料完整性。