当前位置:  开发笔记 > 编程语言 > 正文

如何从Java中查找并杀死正在运行的Win-Processes?

如何解决《如何从Java中查找并杀死正在运行的Win-Processes?》经验,为你挑选了2个好方法。

我需要一种Java方法来查找正在运行的Win进程,我知道可执行文件的名称.我想看看它现在是否正在运行,如果我发现它,我需要一种方法来终止这个过程.



1> 1-14x0r..:
private static final String TASKLIST = "tasklist";
private static final String KILL = "taskkill /F /IM ";

public static boolean isProcessRunning(String serviceName) throws Exception {

 Process p = Runtime.getRuntime().exec(TASKLIST);
 BufferedReader reader = new BufferedReader(new InputStreamReader(
   p.getInputStream()));
 String line;
 while ((line = reader.readLine()) != null) {

  System.out.println(line);
  if (line.contains(serviceName)) {
   return true;
  }
 }

 return false;

}

public static void killProcess(String serviceName) throws Exception {

  Runtime.getRuntime().exec(KILL + serviceName);

 }

例:

public static void main(String args[]) throws Exception {
 String processName = "WINWORD.EXE";

 //System.out.print(isProcessRunning(processName));

 if (isProcessRunning(processName)) {

  killProcess(processName);
 }
}


如果taskkill没有结束您的进程,您可能需要添加"/ F"参数来强制它.

2> 小智..:

您可以使用命令行窗口工具tasklist,taskkill并使用Java从Java调用它们Runtime.exec().

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有