Systemd

如果 systemctl 重啟失敗,如何使用 systemctl 重啟伺服器?

  • September 26, 2021

我嘗試重新啟動我的 CentOS 7 伺服器,但它給出了荒謬的錯誤消息。

作為根(當然):

# systemctl reboot
Authorization not available. Check if polkit service is running or see debug message for more information.
Failed to start reboot.target: Connection timed out
See system logs and 'systemctl status reboot.target' for details.
Exit 1

是否polkit需要檢查是否root有權重啟機器???如果是這樣,為什麼?

# systemctl status reboot.target
● reboot.target - Reboot
  Loaded: loaded (/usr/lib/systemd/system/reboot.target; disabled; vendor preset: disabled)
  Active: inactive (dead)
    Docs: man:systemd.special(7)
Exit 3

我需要啟用reboot目標嗎?為什麼預設情況下會禁用此功能?

也許這會起作用?

# systemctl start reboot.target
Authorization not available. Check if polkit service is running or see debug message for more information.
Failed to start reboot.target: Connection timed out
See system logs and 'systemctl status reboot.target' for details.
Exit 1

好的,強制它,然後:

# systemctl --force reboot
Authorization not available. Check if polkit service is running or see debug message for more information.
Failed to execute operation: Connection timed out
Exit 1

而且伺服器還在。

儘管看起來很奇怪,但嘗試執行

sudo systemctl --force reboot

它出現在我進行的幾次搜尋中。這可能與 DBus 服務重啟的問題有關。

無法重啟。緩慢和超時。 無法啟動 reboot.target:連接超時

如果 Zach Sanchez 的回答不起作用(我Failed to start reboot.target: Connection timed outsystemctl --force rebootCentOS 7 下遇到了一個奇怪的情況),讓核心基本上崩潰重啟可以通過 SSH 以 root 身份完成,如下所示:

# echo s > /proc/sysrq-trigger
# echo u > /proc/sysrq-trigger
# echo b > /proc/sysrq-trigger

在最後一個命令之後,沒有響應,因為核心立即重新啟動機器。更多細節在這裡

正如@LunarShaddow 和其他人指出的那樣,不需要在“b”之前的第二個“s”。

引用自:https://unix.stackexchange.com/questions/534220