Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 防止子JVM在其父JVM退出时退出_Java_Linux_Process_Jvm - Fatal编程技术网

Java 防止子JVM在其父JVM退出时退出

Java 防止子JVM在其父JVM退出时退出,java,linux,process,jvm,Java,Linux,Process,Jvm,我有一个父JVM(我称之为JVM\u parent),在它里面,我使用Runtime.getRuntime().exec(“java……)(我称之为JVM\u child)启动了另一个JVM 现在,当我关闭(优雅地或强制地)JVM\u父级时,JVM\u子级也会退出 当JVM\u父级关闭时,如何防止JVM\u子级关闭?我正在Linux上运行。子进程将从父进程继承,这样kill信号也将杀死子进程。为了防止这种情况发生,您需要将子对象与父对象分离,这样子对象就不会接收到这些信号,并将继续 最简单的使用

我有一个父JVM(我称之为JVM\u parent),在它里面,我使用
Runtime.getRuntime().exec(“java……)
(我称之为JVM\u child)启动了另一个JVM

现在,当我关闭(优雅地或强制地)JVM\u父级时,JVM\u子级也会退出


JVM\u父级关闭时,如何防止JVM\u子级关闭?我正在Linux上运行。

子进程将从父进程继承,这样kill信号也将杀死子进程。为了防止这种情况发生,您需要将子对象与父对象分离,这样子对象就不会接收到这些信号,并将继续


最简单的使用方法是运行类似于
bash-nohup-prog&
的程序,它在单独的子系统中运行,并且不监听HUP信号。请注意,运行
bash-c
是不够的。您可以使用类似于
pstree
的方法来判断bash进程是否已完成。

您可以尝试以下答案:问题是您需要将子进程与父进程分离,并且每个操作系统的过程都不同。@sagneta+1是的,分离父进程和子进程是关键。让我试试。无法使用bash-c或/bin/sh-c选项分离。为什么不能?每个Linux系统都有
bash
命令!我唯一能想到的另一件事是创建一个bash脚本,用一个“nohup&”来执行另一个进程。这就是你想要的一行:nohup./myprogram&