Как я могу что-то сделать в своем Java-приложении после того, как оно было убито?

Я хотел бы выполнить некоторые критические (сохраняющие) операции в моем приложении Java, которые должны выполняться, когда процесс Java завершается диспетчером задач или средой IDE. Возможно ли это сделать как-нибудь?

РЕДАКТИРОВАТЬ:

Пробовал с хуком выключения, но он не работает, с уничтожением процессов, только с обычными отключениями JVM или исключениями.

Мне нужно вывести слово SHUTDOWN на консоль, когда я убиваю свою программу с помощью IntelliJ, но это не работает:

public static void main(String[] args) throws InterruptedException {
        Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
            public void run() {
                System.out.println("SHUTDOWN");
            }
        }));
        while(true){
            System.out.println("NOTHING");
            Thread.sleep(500);
        }
    }

person gyurix    schedule 20.08.2015    source источник
comment
Приложение уже убито или оно живо и только что получило сигнал о завершении?   -  person MaxZoom    schedule 20.08.2015
comment
Я думаю, вы имеете в виду вещи, а не персонал   -  person Peter Lawrey    schedule 20.08.2015
comment
Почему так много минусов? Я не знал, что это называется SIGTERM, вот и все.   -  person gyurix    schedule 20.08.2015
comment
Любая идея, как решить проблему?   -  person gyurix    schedule 21.08.2015


Ответы (1)


В зависимости от того, как вы решите «убить» свой Java-процесс, это может вас заинтересовать: Как обращаться с SIGTERM

person Stanton    schedule 20.08.2015
comment
Спасибо за правильный ответ, это то, что я искал. Просто я не знал, что он называется SIGTERM. - person gyurix; 20.08.2015