You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Windows的CMD中借助fzf便捷查找并终止进程?

如何在Windows的CMD中借助fzf便捷查找并终止进程?

嗨,我来帮你搞定这个问题!既然你已经用Chocolatey装好了fzf,咱们可以通过几个命令组合,在CMD里实现类似POSIX系统那种便捷的进程查找+终止功能,比单纯用taskkill /IM Tab要灵活得多~

直接在CMD中用单行命令实现

你可以直接在CMD里输入这条命令,快速筛选并杀掉目标进程:

tasklist /v /fo csv | fzf | for /f "tokens=2 delims=," %a in ('more') do taskkill /f /pid %~a

我给你拆解下每个部分的作用:

  • tasklist /v /fo csv:让Windows以CSV格式输出进程的详细信息,方便后续精准提取PID
  • | fzf:把进程列表传给fzf,你可以输入关键词搜索目标进程,选中后按回车确认
  • for /f ...:从你选中的那一行里提取出PID(CSV格式里第二列就是PID),然后用taskkill /f /pid强制终止这个进程

做成批处理脚本,一键调用更省心

如果觉得每次敲长命令麻烦,咱们可以把它做成批处理脚本,以后直接调用:

  1. 新建一个文本文件,命名为killproc.bat
  2. 把下面的内容复制进去:
@echo off
tasklist /v /fo csv | fzf | for /f "tokens=2 delims=," %%a in ('more') do taskkill /f /pid %%~a
  1. 把这个bat文件放到系统PATH包含的目录里(比如C:\Windows\System32,或者你自己的工具目录),之后在CMD里直接敲killproc就能启动这个工具了!

进阶:添加进程预览功能

如果你想在筛选时查看进程的详细信息,还可以给fzf加个预览参数:

tasklist /v /fo csv | fzf --preview "tasklist /v /fi \"PID eq {2}\"" | for /f "tokens=2 delims=," %a in ('more') do taskkill /f /pid %~a

这样选中某个进程时,fzf会在右侧显示该进程的详细信息,帮你确认是不是要终止的目标~

最后小提醒:如果是在批处理文件里用for循环,变量要写成%%a,而不是CMD直接输入时的%a;另外用PID杀进程比用进程名更精准,不会误杀同名的其他进程哦~

备注:内容来源于stack exchange,提问作者Foad

火山引擎 最新活动