前陣子有台機器遇到 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 的參數
上述情況都已經嘗試過,確實無法解決,但是機器在遠端,只好使用最暴力的方式:
- sudo su - # 先切成 root,不然下述命令寫不進去
- echo 1 > /proc/sys/kernel/sysrq
- echo b > /proc/sysrq-trigger # 下到這行就直接斷線,立刻重新開機了(若 b 改 o 為關機)
感謝網友提供不用切成 root 的做法
- echo 1 | sudo tee /proc/sys/kernel/sysrq
- echo b | sudo tee /proc/sysrq-trigger
上述參考自此篇:Linux: emergency reboot or shutdown with magic commands
Save
Save