如何从Java执行完全独立的应用程序.喜欢独立的过程

2 java swing multithreading process windows-7

我有一个主应用程序启动另外两个进程,我只需要将它们作为一个独立的进程启动.喜欢运行他们自己而不使用或共享我的主应用程序启动器进程内存或CPU.

但是,当我像这样推出它时,其他两个过程都没有被执行(他们创建了两个新进程但不是虚构的),除非我杀死主进程.我的计划是在Windows下执行它,就像执行THREE应用程序的THREE命令提示符一样.

我如何解决它,以便三个执行完全独自运行?

/*This is Process 1 itself*/
try {

  if (myStock.getOs().equals("Linux")) 
  {
    Runtime.getRuntime().exec("java -cp /var/dist/test.jar main.main");        
    Runtime.getRuntime().exec("java -cp /var/dist/test.jar www.webserver_starter");

  } else {

    /*Windows 7 only*/
    String WindowsTemp = System.getenv("MY") + "\\";
    /*This is Process 2*/
    Runtime.getRuntime().exec("java -cp " + WindowsTemp + "dist\\test.jar main.main");        
    /*This is Process 3*/
    Runtime.getRuntime().exec(
        "java -cp " + WindowsTemp + "dist\\test.jar www.webserver_starter");
  }

} catch(Exception e) {
  System.out.println(e);
}
Run Code Online (Sandbox Code Playgroud)

Woj*_*zyk 6

对于视窗使用cmd /c start ...这里'...'是你想调用命令.

Runtime.getRuntime().exec("cmd /c start java -cp /var/dist/test.jar main.main")
Run Code Online (Sandbox Code Playgroud)

对于Linux&,在命令末尾添加以启动守护进程.

  • 您也可以使用ProcessBuilder来完成同样的事情. (3认同)