Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.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中的当前程序?_Java - Fatal编程技术网

如何运行一个新进程,并关闭Java中的当前程序?

如何运行一个新进程,并关闭Java中的当前程序?,java,Java,这有效地运行了我的另一个程序。但是,此程序(应用程序)不会关闭。它仍然在运行(我可以说,因为它不会让我在Eclipse中杀死它)。关闭此程序的唯一方法是终止与someOtherProgram.jar对应的进程 我想要的是让我的程序App运行另一个Java程序。然后自杀。我想到的唯一办法就是使用exit()方法。它会自动关闭 系统退出(0); 您可能想要使用(在Linux上) 在窗户里 nohup java -jar someOtherProgram.jar & 或 在Windows下

这有效地运行了我的另一个程序。但是,此程序(应用程序)不会关闭。它仍然在运行(我可以说,因为它不会让我在Eclipse中杀死它)。关闭此程序的唯一方法是终止与
someOtherProgram.jar
对应的进程


我想要的是让我的程序App运行另一个Java程序。然后自杀。

我想到的唯一办法就是使用exit()方法。它会自动关闭

系统退出(0);
您可能想要使用(在Linux上)

在窗户里

nohup java -jar someOtherProgram.jar & 


在Windows下,我相信你需要使用像

javaw -jar someOtherProgram.jar 
记住,例如,如果路径包含空格,则需要引用它

cmd /B start "" java -jar someOtherProgram.jar

可能的副本。看看这是否对你有帮助。请注意,它看起来依赖于平台,所以您使用的是什么平台?您使用的是什么操作系统?Windows 7,抱歉忘了提及。您应该尝试一下,我认为您会发现,在子进程存在之前,它将保持JVM openHm,在Windows行中,它表示找不到我的程序:
Runtime.getRuntime().exec(“start/min java-jar someOtherProgram.jar”);
检查我的更新答案。您可能想试试javaw(javaw.exe)@EmanuelSeibold我想你会发现javaw与使用java具有相同的效果,这是操作系统将进程链接在一起的方式,这意味着当前进程在任何子进程终止之前都不能结束…@你应该使用ProcessBuilder并设置“directory”属性来设置programMadProgrammer的开始位置,“javaw.exe是一个不会等待应用程序完成的命令。“意味着shell不知道它仍在运行,即使它认为它已经完成了。
javaw -jar someOtherProgram.jar 
cmd /B start "" java -jar someOtherProgram.jar
cmd /B start "" java -jar "path to your/program/someOtherProgram.jar"