Java:如何分离子流程或创建分离的流程



在Java中是否可以分离子流程,使其最终不再是子流程?或者运行一个外部流程,它不是一个子流程。

我想在linux中启动一些大型的外部进程。但使用ProcessBuilder或Runtime.exec,它是我的子流程,当我尝试启动大型流程(例如四个minecraft服务器(时,最终会出现pthread_create异常。

这在Java中可能吗?

我刚刚测试了一个小样本

import java.io.IOException;
public class Forking {
public static void main(String[] args) {
Process exec = null;
try {
exec = Runtime.getRuntime().exec("sleep 360");
} catch (IOException e) {
e.printStackTrace();
}
if (exec != null) {
System.out.println(exec.isAlive());
}
}
}

它毫无例外地运行,在它退出后,如果您ps aux|grep sleep,您将看到睡眠360正在运行。

最新更新