Windows 关闭占用指定端口的进程
① 快捷方式:PowerShell 一行命令(查端口并直接杀掉)
# 查出占用 8080 端口的进程并强制结束
Get-Process -Id (Get-NetTCPConnection -LocalPort 8080).OwningProcess | Stop-Process -Force
② 找出占用 443 端口的进程号(pid) (第二列是本机应用占用的端口,看第二列即可,下图中对应过去的 pid 是 18072)
# 输出的最后一列就是进程号pid
netstat -ano | findstr :443
③ 查看该 pid 对应的程序(这步操作可有可无,如果杀不掉这个进程,可以用这条命令先看看是哪个程序,再进一步处理)
tasklist | findstr 进程号pid
④ 通过 pid 杀进程
# 这里的pid为上面找到的pid
taskkill /pid [进程号pid] -f
⑤ 按进程名结束(会结束该进程的所有实例)
taskkill /im 进程名.exe /f
⑥ 常见问题排查
- 端口明明被占用却查不到:可能是 Hyper-V 保留端口,查看保留范围:
netsh interface ipv4 show excludedportrange protocol=tcp
netstat -ano 查不到任何进程监听:可能是防火墙/NAT 转发,或端口被系统服务(如 HTTP.sys)占用,用管理员权限执行netstat -abno查看更详细的信息(会显示进程名)。taskkill /pid xxx /f杀不掉:先确认当前命令行是否以管理员身份运行,很多进程需要管理员权限才能结束。
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.
Comments

