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