我有一个父JVM(我将调用 JVM_parent ),在其中我使用Runtime.getRuntime().exec("java .......")
启动了另一个JVM(我将调用 JVM_child )
现在当我关闭(优雅或强力) JVM_parent 时, JVM_child 也会退出。
如何在 JVM_parent 关闭时阻止 JVM_child 关闭?我在Linux上运行。
答案 0 :(得分:0)
子进程将从父进程继承,以便kill信号也将终止子进程。为了防止这种情况,您需要将孩子与父母分开,这样他们就不会收到这些信号,并会继续。
使用它的最简单方法是运行像bash nohup prog &
这样的东西,它在一个单独的孩子中运行它并且不会收听HUP信号。请注意,运行bash -c
是不够的。您可以使用类似pstree
之类的内容来判断bash过程是否已完成。