Я посылаю команду перезагрузки и выключения на свободный компьютер BSD. Однако я хочу проверить, будет ли этот компьютер действительно выключен или перезагружен (я посылаю эту команду с компьютера перезагрузки, и я хочу быть уверен, что если моя команда будет запущена), я не хочу пинговать и т.д., Есть ли какая-либо команда научиться этому?
РЕДАКТИРОВАТЬ 1: Я думаю, что я должен быть более ясным в моем вопросе. Из моего приложения java-сервера я посылаю одну из этих команд:
reboot // or any other command to reboot
shutdown -p now
Я вызываю эти команды в другой Java-программе на стороне клиента. Давайте подумаем сценарий перезагрузки. После того, как я отправил команду перезагрузки со стороны сервера, я хочу проверить, перезагрузится клиент или нет. Если я отправлю эхо-запрос после отправки этой команды перезагрузки, клиентская машина Free BSD может быть еще жива. Однако он может перезагрузиться через некоторое время. С другой стороны, после того, как я отправил команду перезагрузки, что-то может произойти плохо, и связь обрывается, и клиент может не получить эту команду перезагрузки.
Как я могу решить эту проблему (я не хочу, чтобы решение было на стороне Java). Сохраняет ли Free BSD сигналы перезагрузки или завершения работы где-то (чтобы знать, что машина будет перезагружена или выключена), и могу ли я запросить, что машина запланирует перезагрузку или сразу выключить?
РЕДАКТИРОВАТЬ 2: Сервер отправляет одну из этих команд клиенту (мой сервер и клиент закодированы на Java). Если я отправляю эхо-запрос после отправки, например, команды выключения, возможно, машина выключится, но все еще будет работать (возможно, через две секунды она выключится). Если я могу запросить у своего клиента, получил ли он команду выключения (или перезагрузки), даже если она еще жива, я приму, что OK, она выключится (или перезагрузится). Если я не могу получить ответ на свой запрос клиенту, это означает, что это не живой, поэтому я приму, что он выключен (или перезагрузка). Как я могу запросить мою машину таким образом?