Я не думаю, что у вас здесь есть чистое Java-решение.
Я вижу два пути.
Вы можете запустить свой процесс как службу Windows.Таким образом, вы можете предположить, что, если он выходит из строя, это происходит вместе с закрытием процесса ОС.Это не на 100% правильно, а относительно просто.
Другой способ - найти какой-то процесс, который запускается при выходе из строя ОС, и попытаться выполнить опрос процессов.В качестве альтернативы вы можете использовать WMI события.Для подключения к WMI из Java вы можете использовать одно из: JaWin , J-integra , J-interop или создать свой собственный скрипт WMI в VBScript или JScript изапустите его из Java, используя CScript.