對於java程序,我希望獲得所有包含相同單詞(例如「cheese」)的進程並殺死它們。獲取名稱中包含相同單詞的所有進程使用Java
我搜索的計算器,但我已經嘗試了所有可能不起作用:/
我知道如何殺死一個任務,但不知道如何讓所有進程至極有一個包含同一個詞的名稱。
那麼,我該怎麼做?
祝您有美好的一天! :d
(對不起我的英文不好我很年輕,我是法國人:/)
對於java程序,我希望獲得所有包含相同單詞(例如「cheese」)的進程並殺死它們。獲取名稱中包含相同單詞的所有進程使用Java
我搜索的計算器,但我已經嘗試了所有可能不起作用:/
我知道如何殺死一個任務,但不知道如何讓所有進程至極有一個包含同一個詞的名稱。
那麼,我該怎麼做?
祝您有美好的一天! :d
(對不起我的英文不好我很年輕,我是法國人:/)
注意:在Windows計算機上這隻作品。
這將創建一個列表,其名稱中包含word
的所有進程。
public static ArrayList<String> getProccessWithString(String word){
ArrayList<String> list = new ArrayList<String>();
try {
String line;
Process p = Runtime.getRuntime().exec(System.getenv("windir") +"\\system32\\"+"tasklist.exe");
BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((line = input.readLine()) != null) {
if(line.indexOf(word) > 0){
list.add(line);
}
}
input.close();
} catch (Exception err) {
err.printStackTrace();
}
return list;
}
,它被稱爲是這樣的:
ArrayList<String> list = getProccessWithString("word");
然後你可以使用一個循環來殺死他們:
for(int i = 0; i < list.size(); i++){
Runtime.getRuntime().exec("taskkill /F /IM " + list.get(i));
}
您需要運行該程序作爲管理員,因爲taskkill
是一個提升的命令。
最後的代碼看起來是特定於操作系統的。並非所有代碼都在Windows上運行。 –
@AndyThomas我知道,雖然你很難在你自己的操作系統之外工作:/ –
工作感謝! :) –
歡迎來到SO。你應該發佈一些你的代碼嘗試。否則,你會得到一堆倒票和評論,說這不是一個代碼寫作服務。 – BWMustang13
你到目前爲止嘗試過什麼?究竟是什麼問題?您使用什麼操作系統?英語不好不是問題,但提供的問題信息不足。 – halileohalilei
第1步:獲取所有正在運行的進程的列表。第2步:使用正則表達式來查找與您的單詞匹配的正則表達式。第3步:終止匹配的進程。第4步:哭,因爲你在你的正則表達式中犯了一個錯誤,並殺死了你的機器上的所有進程...(我只是說它可能是一個壞主意,擺在首位) – Imus