java關閉指定程序的進程

jack_gogo 11年前發布 | 57K 次閱讀 關閉一個程序的進程 Java開發

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class ProcessCloser {
 private ProcessCloser(){
  
 }

 public static void closeProcess(){
  Process listprocess;
  String programName= "SurekamIM.exe";
  try {
   listprocess = Runtime.getRuntime().exec("cmd.exe /c tasklist");
   InputStream is = listprocess.getInputStream();
   BufferedReader r = new BufferedReader(new InputStreamReader(is));
   //StringBuffer sb = new StringBuffer();
   String str = null;
   while ((str = r.readLine()) != null) { 
    String id = null; 
    Matcher matcher = Pattern.compile(programName + "[ ]*([0-9]*)").matcher(str); 
    while (matcher.find()) {  
     if (matcher.groupCount() >= 1) {   
      id = matcher.group(1);   
      if (id != null) {    
       Integer pid = null;    
       try {     
        pid = Integer.parseInt(id);    
        } catch (NumberFormatException e) {     
         e.printStackTrace();    
         }    
        if (pid != null) {     
         Runtime.getRuntime().exec("cmd.exe /c taskkill /f /pid " + pid);     
         //System.out.println("kill progress"+pid);    
         }   
        }  
      }
    }
   }
  } catch (IOException e) {
   e.printStackTrace();
  }
  
 }
}

 本文由用戶 jack_gogo 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!