我想寫一個聊天機器人。我仍然處於起步階段,但我確實有一個問題。Java,運行外部程序
Process proc = Runtime.getRuntime().exec("notepad.exe");
這實際上使得它不可能退出我的程序,除非我退出記事本。在這個記事本結束之前是否有可能退出Java程序?
我想寫一個聊天機器人。我仍然處於起步階段,但我確實有一個問題。Java,運行外部程序
Process proc = Runtime.getRuntime().exec("notepad.exe");
這實際上使得它不可能退出我的程序,除非我退出記事本。在這個記事本結束之前是否有可能退出Java程序?
您可以通過程序中的單獨線程運行外部程序,並在主線程中繼續執行程序邏輯,即多線程應用程序是一個很好的解決方案。
即使程序在另一個線程中運行,我也無法退出程序。這是否意味着,如果我想運行一個大型的記憶食物程序,比如Skyrim這樣的遊戲,它就在Java應用程序中運行,從而終止Java-app進程,意味着終止外部程序? –
首先摧毀子:
Process proc = Runtime.getRuntime().exec("notepad.exe");
proc.destroy();
如果這不起作用,得到進程的進程ID和運行不同的子進程與System.exit(0);
或正常運行kill <pid>
然後退出的Java。
可能重複[什麼是java中的守護進程線程](http://stackoverflow.com/questions/2213340/what-is-daemon-thread-in-java) –
是的,但它是平臺特定的,非常混亂實現。 – MadProgrammer