【问题标题】:How can I do some stuff in my java app, after it has been killed?在我的 java 应用程序被杀死后,我怎样才能在它中做一些事情?
【发布时间】: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


【解决方案1】:

根据您选择“杀死”您的 java 进程的方式,您可能会感兴趣: How to handle a SIGTERM

【讨论】:

  • 感谢您的正确答案,这就是我一直在寻找的。只是我不知道,它叫做 SIGTERM。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-04
  • 2017-01-15
  • 1970-01-01
  • 1970-01-01
  • 2019-01-06
  • 2011-08-20
相关资源
最近更新 更多