Linux

如何檢查我的電腦是否會重新啟動(或關閉)?

  • August 3, 2012

當我向 Linux 機器發送重啟命令(或關機)命令時,它是否會將該消息保存在某個地方並且我可以查詢它。即我將發送一個重啟命令,然後我將執行另一個命令來檢查我的電腦是否處於重啟(或關機)模式(因為它不會立即重啟,重啟需要一些時間,我會檢查它)?

編輯

伺服器將其中一個命令發送到客戶端(我的伺服器和客戶端以 Java 編碼)如果我在發送 ie 關閉命令後 ping,也許機器會關閉但仍然活著(它可能會在 2 秒後關閉。)如果我可以查詢我的客戶端是否收到了關閉(或重新啟動)命令,即使它還活著我會接受 OK 它將關閉(或重新啟動)將接受它已關閉(或重新啟動)。我怎樣才能這樣查詢我的機器?

在重新引導期間,執行級別設置為 6(0 表示關閉,1 表示維護模式,2–5 表示正常執行)。

if [ "$(runlevel | sed 's/.* //')" = 6 ]; then
 echo "A reboot is in progress"
fi

這不太可能有用,因為只有一個非常小的視窗(通常不到一秒),在此期間機器在啟動重新啟動後仍在接受命令。

如果您在電腦重新啟動後需要通知,請在啟動所需的所有服務後,使其在啟動過程中發送一條消息(通過 ssh、電子郵件、SNMP 或任何方便的方式)。

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