Windows 系统如何查找端口占用情况,并结束进程
开发中总会遇到下面的情况,像:
Address already in use: bind
Address localhost:8080 is already in use
web server failed to start. Port 9009 was already in use.
像这些,很明显就是端口被占用了。
要想应用或系统正常启用,要么换一个端口,要么找到谁占用心仪的端口,然后kill掉。
下面就说下后一种方法。
- 查找占用指定端口的进程ID
netstat -ano | findstr "端口号"
C:\Users\admin>netstat -ano | findstr "3333"
TCP 0.0.0.0:3333 0.0.0.0:0 LISTENING 4352
TCP 100.1.4.111:3333 100.1.4.76:64932 ESTABLISHED 4352
TCP 100.1.4.111:3333 100.1.4.111:51708 ESTABLISHED 4352
TCP 100.1.4.111:3333 100.1.4.176:49323 ESTABLISHED 4352
TCP 100.1.4.111:51708 100.1.4.111:3333 ESTABLISHED 4352
TCP [::]:3333 [::]:0 LISTENING 4352
其中端口号不加双引号也可以。
"netstat" 命令部分参数:
-a:--all,显示计算机正在侦听的所有活动 TCP 连接以及 TCP 和 UDP 端口。
-n:显示活动的 TCP 连接,地址和端口号以数字表示
-o:显示活动的 TCP 连接,并包括每个 (PID) 的进程 ID。
想进一步了解的可以参考netstat
2.查看进程ID对用的应用信息tasklist | findstr "4352"
C:\Users\admin>tasklist | findstr "4352"
java.exe 4352 Console 1 1,420,204 K
3.结束进程,释放端口(一定要确定这个应用没有用,再杀掉)taskkill /t /f /pid 端口号
C:\Users\admin>taskkill /t /f /pid 4352
"taskkill" 命令部分参数:
/t:结束指定进程以及由该进程启动的任何子进程。
/f:指定强制结束进程。 对于远程进程,此参数将被忽略。所有远程进程都被强制结束。
/pid <processID> 指定要终止的进程的进程 ID。
想进一步了解的可以参考taskill
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?