Python中文网

一个关于 编程问题的解答网站.

有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何使用taskkill跳过终止进程

我使用下面的代码杀死所有java进程

taskkill /F /IM javaw.exe
taskkill /F /IM java.exe
exit

当我需要终止所有java进程时,这很好用。问题是,当我运行它时,它也会终止我的eclipse进程。我如何跳过eclipse进程并杀死所有其他java进程


共 (1) 个答案

  1. # 1 楼答案

    一种方法是保存eclipse进程的PID,然后在taskkill所有java进程时排除该PID

    改编自Kill only one process with taskkill

    在一个cmd窗口中:

    使用批处理文件启动eclipse:

    start eclipse.exe
    for /f "tokens=2" %%x in ('tasklist ^| findstr java.exe') do set PIDTOSAVE=%%x
    

    你会用

    for /f "tokens=2" %%x in ('tasklist ^| findstr java.exe ^| findstr /v %PIDTOSAVE%') do taskkill /F /PID %%x
    

    我发现的另一种方法是使用JDK附带的jps程序,按名称查找java进程。见http://yannickloriot.com/2012/08/kill-a-java-process-from-the-command-line-or-a-bat-file/#sthash.bFaaPUxi.dpbs。示例用法如下:

    for /f "tokens=1" %i in ('jps -m ^| find "YOUR_JAVA_PROCESS_NAME"') do ( taskkill /F /PID %i )
    

    对于你来说,最好的方法取决于你的具体用例