“kill -QUIT”实际上是否会杀死JVM?

时间:2014-02-19 12:12:00

标签: java unix

在Unix系统上运行kill -QUIT将触发线程转储。我知道这是因为我已经完成了数百次。

然而,另一位开发人员告诉我他已经看到这种“崩溃JVM”并使用旋转或JMX API“更安全”。

我很难在网上找到kill -QUIT这样做的任何参考。

任何人都可以确认它实际上可以杀死java进程/导致JVM退出吗?

(显然有一种方法可以做到这一点,如果有人没有正确输入“-QUIT”: - ))

1 个答案:

答案 0 :(得分:2)

12年来,我从未见过kill -QUIT崩溃JVM。但正如Disco 3所说,如果你在JVM处于遇险状态时进行线程转储(通常是你通常进行线程转储),它可能(可能?)与OutOfMemoryError崩溃。但在这种情况下,任何都可能导致JVM崩溃。我会毫不犹豫地使用kill -QUIT,但您可能会发现jstack更有用,因为它会将线程转储转储到您的标准输出而不是JVM。