阻止子JVM在其父JVM退出时退出

时间:2016-04-08 11:43:20

标签: java linux process jvm

我有一个父JVM(我将调用 JVM_parent ),在其中我使用Runtime.getRuntime().exec("java .......")启动了另一个JVM(我将调用 JVM_child

现在当我关闭(优雅或强力) JVM_parent 时, JVM_child 也会退出。

如何在 JVM_parent 关闭时阻止 JVM_child 关闭?我在Linux上运行。

1 个答案:

答案 0 :(得分:0)

子进程将从父进程继承,以便kill信号也将终止子进程。为了防止这种情况,您需要将孩子与父母分开,这样他们就不会收到这些信号,并会继续。

使用它的最简单方法是运行像bash nohup prog &这样的东西,它在一个单独的孩子中运行它并且不会收听HUP信号。请注意,运行bash -c是不够的。您可以使用类似pstree之类的内容来判断bash过程是否已完成。