Скажем, у меня запущено приложение в терминале Linux, и я нажимаю «CTRL + C» на клавиатуре, чтобы убить процесс, который завершит программу Java.
Есть ли способ перехватить этот «запрос» в моем Java-приложении, чтобы я мог корректно завершить его и освободить все ресурсы / журналы записи. У меня работает несколько разных потоков, если это влияет на ответ.
Я знаю, что у вас есть addShutDownHook, но, как написано в документации по Java, это не так. t вызывается при определенных обстоятельствах, например, сигнал уничтожения от "CTRL + C" в linux ... есть ли другие способы?
Runtime.getRuntime().addShutdownHook(new Thread()
{
public void run ()
{
// TODO: implement graceful shutdown here.
}
});