如何根据指定可执行文件路径终止对应进程?
如何根据指定可执行文件路径终止对应进程?
嗨,这个需求我太懂了——不想误杀其他JDK的Java进程,只干掉指定路径的那个对吧?给你两个靠谱的方法:
方法一:用WMIC + taskkill组合命令
Windows自带的wmic工具可以帮你精准定位到对应路径的进程PID,然后用taskkill杀掉它。
- 先查询目标进程的PID:
wmic process where "ExecutablePath='D:\\Program Files\\Java\\jdk1.8.0_331\\bin\\java.exe'" get ProcessId
注意路径里的反斜杠要写成双反斜杠\\,不然会识别出错。
- 拿到PID后,直接终止进程:
taskkill /F /PID <你查到的PID数字>
如果想一步到位,不用手动复制PID,可以用for循环把两个命令合并:
for /f "tokens=2 delims= " %a in ('wmic process where "ExecutablePath='D:\\Program Files\\Java\\jdk1.8.0_331\\bin\\java.exe'" get ProcessId') do taskkill /F /PID %a
要是你把这条命令写到批处理(.bat)文件里,记得把%a改成%%a哦。
方法二:用PowerShell(更简洁直观)
PowerShell的语法更灵活,一行命令就能搞定:
Get-Process | Where-Object {$_.Path -eq "D:\Program Files\Java\jdk1.8.0_331\bin\java.exe"} | Stop-Process -Force
这条命令会先列出所有进程,过滤出路径完全匹配的Java进程,然后强制终止它们,非常省心。
小提醒
- 确保路径完全正确,包括大小写(虽然Windows一般不区分,但严格匹配更保险)
- 如果路径里有空格,一定要用引号把路径包起来,不然命令会报错
备注:内容来源于stack exchange,提问作者Nicolas Baumann
相关产品推荐
相关产品推荐

