java:如何分离子进程或创建分离的进程

ghhaqwfi  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(424)

在java中,有没有可能将一个子进程分隔开来,使它最终不再是一个子进程?或者运行一个外部进程,它不是子进程。
我想在linux中启动一些大型外部进程。但对于processbuilder或runtime.exec,它是我的子进程,当我尝试启动大型进程(例如four minecraft server)时,最终会出现pthread\u create异常。
这在java中可能吗?

ryoqjall

ryoqjall1#

我刚测试了一个小样本

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 您将看到Sleep360正在运行。

相关问题