java - 在我的java应用程序被杀死后,我该如何做一些事情?

标签 java kill-process

我想在我的java应用程序中进行一些关键(保存)操作,当java进程被任务管理器或IDE终止时,这些操作应该被执行。无论如何都可以做到吗?

编辑:

尝试过关闭钩子(Hook),但它不起作用,进程终止,只是正常的 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);
        }
    }

最佳答案

根据您选择“终止”java 进程的方式,您可能对此感兴趣: How to handle a SIGTERM

关于java - 在我的java应用程序被杀死后,我该如何做一些事情?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32127274/

相关文章:

java - 如何仅将具有 xml 标签的文本文件中的某些元素打印到新文本文件中?

java - 访问本地磁盘上的外部 jar 的最佳方式

c++ - C++中如何终止正在运行的程序

广播接收器的Android杀死进程

bash - 终止终端后是否可以执行 bash 脚本?

ubuntu - 如果内存和交换用完,进程是否会自动终止?

linux - 我可以删除 [php] <defunct> 进程吗

java - Jackson 相当于 XStreamImplicit

java - 如何使用 subList()

java - Java中 "parent"组件的调用方法