关于jvm:处理Java虚拟机中的信号

关于jvm:处理Java虚拟机中的信号

Handle signals in the Java Virtual Machine

是否可以在Java虚拟机中处理POSIX信号?

至少SIGINT和SIGKILL应该完全独立于平台。


JVM自行响应信号。 有些将导致JVM正常关闭,其中包括运行关闭挂钩。 其他信号将导致JVM在不运行关闭挂钩的情况下中止。

使用Runtime.addShutdownHook(Thread)添加关闭挂钩。

我认为JDK没有提供处理Java应用程序中信号的正式方法。 但是,我确实找到了这篇IBM文章,其中描述了如何使用一些未记录的sun.misc.Signal类来做到这一点。 本文从2002年开始使用JDK 1.3.1,但我已经确认sun.misc.Signal类在JDK 1.6.0中仍然存在。


也许Runtime#addShutdownHook?


推荐阅读