X

Linux 於 CLI 強制遠端重新開機

前陣子有台機器遇到 systemd 有問題(註:Linux systemd 取消卡住的工作),但是問題找不出來,想說要找時間重新開機解決,沒想到連重新開機都是個大問題。

  • 註1:此篇環境為 Debian Linux jessie
  • 註2:機器在遠端才需要使用此篇的強制重新開機的命令,不然直接手動強迫關機在開機就好

Linux 於 CLI 強制遠端重新開機

在 systemctl restart any-service 都有問題,原來連 reboot 也需要 systemd 正常運作才可以,嘗試下述命令重新開機,都無法成功:

  • sudo reboot
  • sudo shutdown -r now
  • sudo shutdown -r -f now # sudo shutdown -r -F now 出現下述錯誤訊息
    • Code should not be reached 'Unhandled option' at ../src/systemctl/systemctl.c:6316, function shutdownparseargv(). Aborting.
    • 查看是 Debian jessie 不支援 -f / -F 的參數

上述情況都已經嘗試過,確實無法解決,但是機器在遠端,只好使用最暴力的方式:

  1. sudo su - # 先切成 root,不然下述命令寫不進去
  2. echo 1 > /proc/sys/kernel/sysrq
  3. echo b > /proc/sysrq-trigger # 下到這行就直接斷線,立刻重新開機了(若 b 改 o 為關機)

感謝網友提供不用切成 root 的做法

  1. echo 1 | sudo tee /proc/sys/kernel/sysrq
  2. echo b | sudo tee /proc/sysrq-trigger

上述參考自此篇:Linux: emergency reboot or shutdown with magic commands

Save

Save

Tsung: 對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
Related Post