端口被System pid:4占用的解决方式:修改服务使用的端口,不禁用服务


一、问题描述:

  端口被系统system,pid[4] 占用的,无法使用两步走的传统常用命令解决,即:

  netstat -ano|findstr "端口号"
  taskkill /pid [查询的pid] -F

          图 1-1

 

           图 1-2

 

[注] 笔者被占用的端口是9001,故以9001端口来做截图说明,同时本机也没有SQL Server Reporting Services。

[注] 笔者的方法(在页尾补充章里)应该适用于大部分解决 被系统占用端口 的思路。

 

二、解决方案:

1:输入  netsh http show servicestate  查询http服务状态快照;

           图 2-1

 

2:输入 tasklist|findstr "pid" 查看占用端口号的应用程序

            图 2-2

 

3:输入 taskkill /pid [查询的pid-] -F  或 taskkill /f /t /im ****.exe

     前者是根据杀死占用端口的pid来释放端口, 后者则是杀死占用端口的应用程序来释放端口。笔者用的前者。

             图 2-3

 

三、整体图:

                          图 3-1

 

四、补充:

重启后端口再次被占用,所以这一次在杀死进程以前,先去看了一下这个服务究竟是做什么的。

                            图 4-1

 

占用端口的是显卡服务,不知道是做什么的,也不敢请轻易禁用/关闭,转到详细情况里,发现这个服务支撑的是:OneApp.IGCC.WinService.exe。

于是通过右键属性-> 位置信息,找到了这个客户端所在的文件夹。

                            图 4-2

 

在这个配置文件里找到了与port相关的属性:

        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:9001/igcc/service"/>
            <add baseAddress="net.tcp://localhost/igcc/service"/>
          </baseAddresses>
        </host>        

 

其中 localhost:9001/igcc/service 与 图 4-1所显示的注册信息完全一致,于是修改了端口号为“4658”,重启,端口9001不再被占用,IGCC使用的端口就是笔者后来修改的端口号了。

                           图 4-3

 

 转载请标明出处。

一些其他经典解决方案:

非系统占用端口:https://blog.csdn.net/u011713016/article/details/15813699

系统占用端口:http://www.2cto.com/os/201505/399603.html  偏向SQL Server Reporting Services

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM