我使用下面的代码来杀死所有的java进程。
taskkill /F /IM javaw.exe
taskkill /F /IM java.exe
exit当我需要杀死我所有的java进程时,这个方法工作得很好。问题是,当我运行它的时候,它也会杀死我的eclipse进程。如何跳过eclipse进程并终止所有其他java进程。
发布于 2014-01-03 15:11:42
一种方法是保存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 )对你来说最好的方式将取决于你的特定用例。
https://stackoverflow.com/questions/20896516
复制相似问题