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,先看是不是这几种:
- 权限不够——右键 CMD/PowerShell “以管理员身份运行”
- SYSTEM 保护进程——比如
System、Registry是杀不掉的,动它系统会重启 - 进程被驱动挂钩——某些安全软件会保护自身进程,得先从安全软件里退出
进程有子进程且需要一起清理时:
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 |
