JVM реагирует на сигналы самостоятельно. Некоторые из них приведут к корректному завершению работы JVM, что включает в себя запуск ловушек отключения. Другие сигналы приведут к прерыванию работы JVM без использования перехватчиков отключения.
Завершающие хуки добавляются с помощью Runtime.addShutdownHook (Thread) .
Я не думаю, что JDK предоставляет официальный способ обработки сигналов в вашем Java-приложении. Однако я нашел эту статью IBM , в которой описывается использование недокументированного класса sun.misc.Signal
, чтобы сделать именно это. Статья датируется 2002 годом и использует JDK 1.3.1, но я подтвердил, что класс sun.misc.Signal
все еще существует в JDK 1.6.0.