Java,托管应用程序关闭作为对Ctrl^d的响应



我已经开发了一个Java在线分布式应用程序,该应用程序通常一直在活动(不是GUI )。

如果管理员对这种关闭感兴趣,我有兴趣在关闭之前执行一些步骤。

我知道ctrl^c停止了JVM,我想知道我是否可以在JVM关闭之前挂钩并执行一些其他操作,或在Ctrl^d事件中添加一些钩子以做同样的事情。<<<<<<<<<<<<<<<<<<<<<<<</p>

我几乎确定某处有一个帖子描述了类似的问题,我会很喜欢链接到此类帖子。

我对任何第三方外部罐子或任何JNI解决方案都不感兴趣。

如果没有帖子讨论相同的问题,我会赞赏代码示例。

其他约束:此解决方案应适用于UNIX和Windows。

编辑

这里提出的一种解决方案是使用Runtime.getRuntime().addShutdownHook(new Thread() {})

据我了解,创建了一个新线程,该线程将聆听并等待关闭事件发生。

  1. 我想知道我是否可以以某种方式向发生关机的主线程发出信号(如我提到的,我有一个分布式系统,我需要告知此类事件的每个线程)?

  2. 我可以添加多个线程以收听此事件吗?

要对Ctrl C做出反应,您必须添加关闭挂钩:

Runtime.getRuntime().addShutdownHook(new Thread() {
    public void run() {
        System.out.println("I'll be back!");
    }
});

相关内容

  • 没有找到相关文章

最新更新