Windows 杀进程:按 PID / 按名字 / 按端口

Windows 上要杀个后台跑的进程,图形界面点半天不如命令行一条搞定。

按 PID 杀(最常用)

CMD

taskkill /PID 1234 /F
  • 1234 换成你的 PID
  • /F 强制结束,不加有时杀不掉

PowerShell

Stop-Process -Id 1234 -Force

不知道 PID 怎么办

按名字找

tasklist | findstr nginx

按端口找(比如 8080 被占了)

netstat -ano | findstr :8080

最后一列就是 PID。也可以直接:

Get-NetTCPConnection -LocalPort 8080 | Select-Object OwningProcess

按进程名批量杀

嫌一个个找 PID 麻烦:

taskkill /IM nginx.exe /F

或者 PowerShell 通配:

Stop-Process -Name "nginx" -Force

杀不掉的情况

碰到 拒绝访问 / Access is denied,先看是不是这几种:

  1. 权限不够——右键 CMD/PowerShell “以管理员身份运行”
  2. SYSTEM 保护进程——比如 SystemRegistry 是杀不掉的,动它系统会重启
  3. 进程被驱动挂钩——某些安全软件会保护自身进程,得先从安全软件里退出

进程有子进程且需要一起清理时:

taskkill /PID 1234 /T /F

/T = 连同子进程一起杀。

一张表速查

目的命令
按 PID 杀taskkill /PID <pid> /F
按进程名杀taskkill /IM <name>.exe /F
连子进程一起杀taskkill /PID <pid> /T /F
查端口占用netstat -ano | findstr :<port>
查进程名tasklist | findstr <name>
PowerShell 版本Stop-Process -Id <pid> -Force