今天無意看見一個人問:“怎樣終止一個進程啊?”咦?我也不會,好,去看看,然後就搜搜資料,寫了個demo,現在和大家分享一下
import java.io.IOException;</p><p>/*<br /> * ps:JAVA Runtime.exec()執行多個參數的命令方法,如果參數包含空格,則需要提供一個數組來提供參數<br /> * 並且注意,比如cd dir這種命令,即使以數組形式提供也無法正確執行,因為在xp系統中,只有cmd命令<br /> * cd 命令不是當前環境所能解釋的<br /> */<br />public class Test {<br />public static void main(String[] args) {<br />Runtime rt = Runtime.getRuntime();<br />String[] command1=new String[]{"cmd","cd","C://Program Files//Thunder"};<br /> String command = "taskkill /F /IM Thunder5.exe";<br /> try<br /> {<br /> rt.exec(command1);//返回一個進程<br /> rt.exec(command);<br /> System.out.println("success closed");<br /> }<br /> catch (IOException e)<br /> {<br /> e.printStackTrace();<br /> }<br />}</p><p>}
ps:如果我們要執行這樣的命令比如cd dir,就要先根據作業系統的不同執行不同的解釋程式command.com 或者cmd.exe。否則會出現
類似:
java.io.IOException: Cannot run program "cd": CreateProcess error=2, ?????????
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at Test.main(Test.java:14)
的錯誤。
對於/F /IM參數的設定,可以在dos下 taskkill /? 擷取協助資訊。
最後,祝大家每天工作好心情~~