首先 netstat -ano 命令查看端口被哪一个应用占据;
输入之后返回列表,显示pid为4的占用了此端口;pid为4的是system;
显然不可能是系统应用;继续……
netsh http show servicestate
拉到底部查看pid2220,查看得到pid对应的结果为ReportingServiceService.exe占用了端口;
进程杀掉此应用即可(此应用为sqlserver安装时自带应用,禁用即可)!
如上述依然没解决:
netsh http show servicestate
图中可以看到,80端口被一个DefaultAppPool的东西占用了,如果用过IIS的童鞋,这时候肯定一定想到了原因,这里我们依然要接着往下找原因,图中可以看出控制器进程ID为4640,那么就 就继续查看一下4640进程是什么鬼,进入任务管理器,找到PID4640的进程,右键转到服务,可以看到当前的进程所在的服务,如图所示:
右键、停止服务即可;
永久性解决问题被system占用的方法:
解决方案:
控制面板–>程序–>启用或者关闭Windows功能–>找到Internet Information Service,将其关闭即可
打开设备管理器,点击菜单栏中的查看-->显示隐藏设备,这时候你能看到非即插即用驱动程序,展开,找到HTTP,双击切换到驱动程序选项卡,将类型设为已禁用,确定,重启系统。(注:理论上,你直接点停止也是可以的,但是我点击之后系统总是卡死。禁用还是要设置的,否则系统重启之后80又被占用了)
问题解决。