Systemd
如果 systemctl 重啟失敗,如何使用 systemctl 重啟伺服器?
我嘗試重新啟動我的 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 服務重啟的問題有關。
如果 Zach Sanchez 的回答不起作用(我
Failed to start reboot.target: Connection timed out
在systemctl --force reboot
CentOS 7 下遇到了一個奇怪的情況),讓核心基本上崩潰重啟可以通過 SSH 以 root 身份完成,如下所示:# echo s > /proc/sysrq-trigger # echo u > /proc/sysrq-trigger # echo b > /proc/sysrq-trigger
在最後一個命令之後,沒有響應,因為核心立即重新啟動機器。更多細節在這裡
正如@LunarShaddow 和其他人指出的那樣,不需要在“b”之前的第二個“s”。