天天看点

Windows下9001端口被占用Windows下9001端口被占用

Windows下9001端口被占用

问题复现

IDEA运行微服务的网关模块,突然报了一个端口被占用的异常,如下图所示:

Windows下9001端口被占用Windows下9001端口被占用

本来没太在意,因为以前80或8080端口被占用也遇到过,不就是杀进程吗,于是我满怀信心的打卡cmd,键入熟悉的指令

netstata -ano | findstr 9001

taskkill /f -pid ${pid}
           
Windows下9001端口被占用Windows下9001端口被占用

结果大跌眼镜,无法终止这个PID。再一看进程号小于1000,看样子是个系统进程,于是打开任务管理器

Windows下9001端口被占用Windows下9001端口被占用
Windows下9001端口被占用Windows下9001端口被占用

9001端口莫名被占用,而且这个System进程还没有办法结束,这就只能慢慢排查是什么鬼东西占用了。

netsh查PID

首先要明确的是,9001端口被System占用,必然和HTTP服务有关系。所以继续打开cmd界面,输入:

netsh http show servicestat
           
Windows下9001端口被占用Windows下9001端口被占用
Windows下9001端口被占用Windows下9001端口被占用

看到这个IGCC就知道罪魁祸首了,接下来就盘他了,刚刚输入netsh指令的结尾,有一个请求队列的输出,他的顺序和前面服务器会话是对应的。从前面两图可知,9001端口对应的次序是2,所以在请求队列查找顺序为2的,然后找到该队列进程ID,是5148。

Windows下9001端口被占用Windows下9001端口被占用

taskmgr查服务

![image-20210819155254748](https://img-blog.csdnimg.cn/img_convert/aa4b2d731908cdbfe245552c1cd6da94.png

然后继续任务管理器,(ctrl + shift + delete)或(win + r + taskmgr):

Windows下9001端口被占用Windows下9001端口被占用

根据ID查看,被占用的进程是OneAPP.IGCC。恩,没错,就是他了。

services.msc自动改手动

接下来只需要去service.msc里停止它并设置为手动即可。

Windows下9001端口被占用Windows下9001端口被占用

当然也可以在刚刚的任务管理器,点击5148进程的服务,右键-转到服务-打开服务,也是一样的效果。

Windows下9001端口被占用Windows下9001端口被占用

由于servie.msc我并没有找到类似搜索的功能,所以只能手动搜,当然也有技巧,就是利用排序,只看正在运行和启动方式是自动的,最后定位到是Intel开头,想想也合理。

Windows下9001端口被占用Windows下9001端口被占用
Windows下9001端口被占用Windows下9001端口被占用

检查

最后查看下9001端口的占用情况,cmd键入

没有输出则表示无占用,恭喜。

Windows下9001端口被占用Windows下9001端口被占用

继续阅读