防止子 JVM 在其父 JVM 退出时退出
preventing child JVM from exiting when its parent JVM exits
我有一个父 JVM(我称之为 JVM_parent),我在其中使用 Runtime.getRuntime().exec("java .......")
启动了另一个 JVM(我将呼叫 JVM_child)
现在,当我关闭(正常或强制)JVM_parent 时,JVM_child 也会退出。
如何防止JVM_child在JVM_parent关机时关机?我 运行 在 Linux。
子进程将从父进程继承,因此终止信号也会终止子进程。为防止这种情况,您需要将子项与父项分离,这样它就不会收到这些信号并继续。
使用它的最简单方法是 运行 类似 bash nohup prog &
的东西,它在单独的子进程中运行它并且不监听 HUP 信号。请注意 运行 bash -c
是不够的。您可以使用 pstree
之类的东西来判断 bash 进程是否已完成。
我有一个父 JVM(我称之为 JVM_parent),我在其中使用 Runtime.getRuntime().exec("java .......")
启动了另一个 JVM(我将呼叫 JVM_child)
现在,当我关闭(正常或强制)JVM_parent 时,JVM_child 也会退出。
如何防止JVM_child在JVM_parent关机时关机?我 运行 在 Linux。
子进程将从父进程继承,因此终止信号也会终止子进程。为防止这种情况,您需要将子项与父项分离,这样它就不会收到这些信号并继续。
使用它的最简单方法是 运行 类似 bash nohup prog &
的东西,它在单独的子进程中运行它并且不监听 HUP 信号。请注意 运行 bash -c
是不够的。您可以使用 pstree
之类的东西来判断 bash 进程是否已完成。