【发布时间】:2015-11-14 15:05:05
【问题描述】:
我想在我的 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);
}
}
【问题讨论】:
-
应用程序是已经被杀死还是处于活动状态并且刚刚收到终止信号?
-
我认为你的意思是“stuff”而不是“staff”
-
为什么有这么多反对票?我不知道,它叫 SIGTERM,仅此而已。
-
知道如何解决这个问题吗?
标签: java kill-process