You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PowerShell杀死除Visual Studio启动的Chrome进程外的所有进程?

筛选并终止不受Visual Studio调试器控制的Chrome进程

我完全懂你的痛点——每次调试完VS启动的Chrome窗口,不小心关错就会终止调试,还得费劲区分哪些是VS管控的、哪些是自己日常用的Chrome进程。这里有几个实用的方法帮你精准筛选并杀掉非VS调试启动的Chrome进程:

方法1:PowerShell脚本(推荐)

Visual Studio启动Chrome时,会给它分配一个临时的用户数据目录,路径通常包含VSWeb标识(比如C:\Users\<你的用户名>\AppData\Local\Temp\VSWebXXXXXX)。我们可以通过这个特征来筛选进程:

# 1. 获取所有由VS调试启动的Chrome进程
$vsChromeProcesses = Get-CimInstance Win32_Process -Filter "Name = 'chrome.exe'" | Where-Object { $_.CommandLine -match 'VSWeb' }

# 2. 获取所有非VS管控的Chrome进程
$nonVsChromeProcesses = Get-CimInstance Win32_Process -Filter "Name = 'chrome.exe'" | Where-Object { $_.CommandLine -notmatch 'VSWeb' }

# 3. 先预览要终止的进程(务必先确认,避免误杀)
$nonVsChromeProcesses | Select-Object ProcessId, CommandLine

# 4. 确认无误后,执行终止操作
$nonVsChromeProcesses | ForEach-Object { Stop-Process -Id $_.ProcessId -Force }

小贴士:

  • 运行PowerShell时无需管理员权限(除非Chrome进程以管理员身份运行)
  • 永远先执行预览命令,确认要杀的进程是你日常使用的那些,再执行终止步骤

方法2:命令提示符(CMD)命令

如果你更习惯用CMD,也可以用tasklist和taskkill结合筛选:

# 先查看所有Chrome进程的详细信息,确认VS启动的特征
tasklist /v /fi "imagename eq chrome.exe"

# 终止所有非VS管控的Chrome进程
for /f "tokens=2" %a in ('tasklist /v /fi "imagename eq chrome.exe" /fo csv ^| findstr /v "VSWeb"') do taskkill /f /pid %~a

注意:

  • 如果把这段命令写到批处理(.bat)文件里,要把%a改成%%a

方法3:手动筛选(适合临时操作)

如果你只是偶尔需要清理,可以直接通过任务管理器操作:

  • 打开任务管理器,点击「详细信息」标签
  • 右键点击列标题,选择「选择列」,勾选「命令行」
  • 查看每个chrome.exe进程的命令行,找不包含VSWeb的进程,右键选择「结束任务」

内容的提问来源于stack exchange,提问作者Justin Dearing

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:36:42