Перехватывает вызов отключения машины Java?
-
14-10-2019 - |
Вопрос
Есть ли способ получить уведомление о выключении JVM или System.Exit CALL до фактического отключения? Я хочу этого, поэтому мое приложение сможет сделать чистый выход. Я понимаю, что такая вещь вряд ли будет существовать, но все же, может быть, есть что -то подобное?
Решение
Посмотри на Runtime.addshutdownhook
От документов API:
Виртуальная машина Java отключается в ответ на два вида событий:
- Программа выходит нормально, когда выходит последняя нить не-дамонна, или при использовании метода выхода (эквивалентно, System.exit) или
- Виртуальная машина прекращается в ответ на прерывание пользователя, такое как набор ^C или общесистемное событие, такое как отпуск пользователя или выключение системы.
С использованием Runtime.addShutdownHook
Вы можете запустить код в этих случаях.
Другие советы
Есть Runtime.getRuntime().addShutdownHook()
Метод, который вы можете исследовать.
Не связан с StackOverflow