我想在我的java应用程序中进行一些关键(保存)操作,当Java进程被任务管理器或IDE杀死时,应该执行该操作。无论如何都可以这样做吗?
编辑:
尝试使用关闭钩子,但它没有工作,只有正常的JVM关闭或异常才会导致进程死亡。
当我使用IntelliJ杀死程序时,我需要将SHUTDOWN字打印到控制台,但它不起作用:
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);
}
}