13

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

至少SIGINTSIGKILL应该是完全独立于平台的。

4

2 回答 2

13

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

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

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

于 2008-09-03T04:08:58.537 回答
4

也许Runtime#addShutdownHook

于 2008-09-02T19:39:45.717 回答