我嘗試啓動用java多個環節,但firefox
被給了一個錯誤主要進程終止導致其線程teminate
的Firefox已經運行請關閉第一
因此,爲了避免這種,我在啓動鏈接之間添加了一個延遲。但是這個延遲阻礙了我的主程序。我將這段代碼製作爲線程,以便主程序不會阻塞,但退出主程序會導致此線程在沒有休眠的情況下終止。這是我的一段代碼
main{
runCommand run= new runCommand();
run.start();
}
private class runCommand extends Thread{
@Override
public void run() {
LaunchProcess("xdg-open https://www.google.com")
Thread.sleep(8000);
LaunchProcess("xdg-open https:www.gmail.com")
}
LaunchProcess
是使用runtime.getExec
到exec命令的功能。上述代碼僅啓動第一個鏈接並在主程序退出時退出。如何確保退出的主程序不會終止由它啓動的線程。我不想在主程序
http://stackoverflow.com/questions/22390977/allow-java-to-end-with-main-without-closing-processes-that-were-executed – assylias
這不能是你的代碼,它是無效的Java語法,即使添加了缺少的'LaunchProcess'。另外,沒有標準的包或對象'runtime';有'java.lang.Runtime',它具有方法'getRuntime()'和'exec()',但沒有'getExec'。但是你描述的應該是有效的;如果任何其他非守護線程仍然存在,則從Java中的主線程返回不會終止JVM。發佈實際的代碼,儘可能簡單,以展示您的問題。 –