1、问题说明
在开发过程中,经常会有端口被莫名的占用,尤其是在服务很多的情况下,很容易发生某个服务的端口已经被其它的服务莫名的占用,我这里的问题是 ElasticSearch 的9200 端口总是被占用;
2、处理过程
a. 通过命令 netstat -ano |findstr 9200 找到此端口具体的PID是哪个,此处可以看出是 37636;
b. 通过 tasklist |findstr 37636 命令找到具体是哪个服务占用的此端口号
由上图可以看出是 cpolar.exe 这个服务占用了9200端口号;
c. 在任务管理器里面可以找到这个 cpolar.exe 这个服务,关闭就可以解决端口冲突,但是这样只是治标不治本,下一次启动电脑还可能继续占用
d. 如果某个程序开机启动,正常情况下在任务管理器的启动选项下会显示开机启动项
但是这个服务比较特殊,这里并没有显示。
e.通过 win + R 弹出运行框,输入 services.msc,在服务里面找到 cpolar ,右键选择属性,发现这个服务确实是自动启动的。
这里给改成手动启动就可以了,下次开机就不会一直启动了。
3、总结
Windows中有些服务就是会绕过系统检查的自启动项,它自己偷偷的启动占用资源和端口号