Sto inviando un comando di riavvio e spegnimento a un computer BSD gratuito. Tuttavia, voglio verificare che quel computer si spenga o si riavvii davvero (invio questo comando da un computer di riavvio e voglio essere sicuro che se il mio comando verrà eseguito) Non voglio eseguire il ping o ecc., C'è qualche comando per impararlo?
EDIT 1: Penso che dovrei essere più chiaro sulla mia domanda. Dalla mia applicazione java server invio uno di questi comandi:
reboot // or any other command to reboot
shutdown -p now
Chiamo quei comandi in un altro programma Java sul lato client. Pensiamo allo scenario di riavvio. Dopo aver inviato il comando di riavvio dal lato server, desidero controllare il riavvio del client o meno. Se eseguo il ping dopo l'invio di quel comando di riavvio, la macchina Free BSD client potrebbe essere ancora attiva. Tuttavia, può riavviarsi dopo un po 'di tempo. D'altra parte, dopo che ho inviato il comando di riavvio, qualcosa potrebbe non funzionare e la comunicazione si interrompe e il client potrebbe non ricevere quel comando di riavvio.
Come posso gestire questo problema (non voglio una soluzione con il lato Java) Free BSD mantiene i segnali di riavvio o spegnimento da qualche parte (per sapere che la macchina verrà riavviata o arrestata) e posso eseguire una query che la macchina programmata si riavvierà automaticamente o spegnimento immediato?
EDIT 2: Il server invia uno di questi comandi al client (il mio server e client sono codificati su Java) Se eseguo il ping dopo l'invio, ovvero comando di spegnimento, forse la macchina si spegne ma è ancora viva (si spegnerà forse dopo 2 secondi più tardi). Se posso interrogare il mio client se ha ricevuto un comando di spegnimento (o riavvio) anche se è ancora vivo Accetterò che OK si spegnerà (o riavvia) Se non riesco a ottenere una risposta alla mia richiesta al client significa che non è vivo , quindi accetterò che sia chiuso (o riavviato). Come posso interrogare la mia macchina in quel modo?