目录
场景
idea因某种原因异常关闭或者重启,再启动项目时提示端口占用
解决办法:手动杀掉占用端口的进程
1、查看占用的端口信息
命令:
netstat -ano | findstr "端口号" ,端口号加不加引号都一样,例如:
netstat -ano | findstr "80"
# 或
netstat -ano | findstr 80
命令分解
netstat -ano:
- netstat 是网络统计(Network Statistics)工具,用于显示网络连接、路由表和网络接口信息
- -a 参数显示所有连接和监听端口
- -n 以数字形式显示地址和端口号(不解析主机名)
- -o 显示拥有每个连接的进程ID(PID)
| (管道符号):
- 将前一个命令的输出作为后一个命令的输入
findstr 80:
- findstr 是Windows中的字符串搜索工具
- 80 是要搜索的字符串(这里是HTTP默认端口号)
输出:
TCP 127.0.0.1:9080 0.0.0.0:0 LISTENING 6372
TCP 127.0.0.1:19992 127.0.0.1:8588 ESTABLISHED 5804
TCP 127.0.0.1:36510 0.0.0.0:0 LISTENING 23880
TCP 127.0.0.1:36510 127.0.0.1:24440 ESTABLISHED 23880
TCP 127.0.0.1:37510 0.0.0.0:0 LISTENING 23880
TCP 192.168.0.126:11007 111.191.121.211:80 ESTABLISHED 16616
TCP 192.168.0.126:38009 210.191.33.214:443 CLOSE_WAIT 12672
TCP 192.168.0.126:38012 61.212.210.211:443 ESTABLISHED 9412
各列含义
- 协议类型(TCP/UDP)
- 本地地址和端口
- 外部地址和端口
- 连接状态
- 进程ID(PID)
2、(方法1)强制终止程序-使用命令
根据pid终止程序
# 强制结束进程
taskkill /F /PID 12345
/F
表示强制终止/PID
后面跟上你找到的进程ID
3、(方法2)强制终止程序-使用任务管理器
- 打开任务管理器
- 切换到"详细信息"选项卡
- 点击"PID"列排序(如果看不到PID列,右键点击列标题,勾选"PID")
- 找到与你项目端口对应的Java进程(通常是java.exe或javaw.exe)
- 右键选择"结束任务"
如图:

4、(方法3)重启电脑
如果以上方法不奏效,最简单的解决方案是重启电脑,这会终止所有残留进程。
5、最后
再次在IDEA中启动刚才报端口冲突的服务就可以了
6、预防措施
-
在IDEA中,尽量使用Stop按钮(红色方形)停止应用,而不是直接关闭IDEA
-
在IDEA的Run/Debug Configurations中,可以勾选Build and run部分的Allow parallel run选项
扩展:根据pid找到对应的程序
- 查找特定PID对应的程序:
tasklist | findstr 1234
- 查找所有HTTP相关端口(80和443):
netstat -ano | findstr ":80 \|:443"
- 以连续模式监视网络连接(每2秒刷新):
netstat -ano 2 | findstr 80