我从会做网站到现在也遇到过了N次了,今天又让我遇到了,我来解决他,并为大家做最详细易懂的分析。
我的情况:我用了一个小插件“黑风Aspweb服务器”代替IIS,尽管如此IIS组件也是要装的。停止IIS中的“默认网站“,意味着停止了80端口的运行,然后打开“黑风Aspweb服务器”即可正常测试网站。
故障现象:今天“默认网站“已经停止,但是打开“黑风Aspweb服务器”还是提示“80端口被占用”。
解决过程:打开命令提示符——netstat -ano,就可以查看本机端口开放情况与对应的程序。如下图:
图中,可以看出,21、25以及80端口都被PID(进程标识符)为:5668的进程所占用。现在,只要知道PID为5668的进程就可以解决了。
2、打开任务管理器,如下图:
图中,可以看出PID:5668对应的进程为inetinfo.exe。(稍后解释inetinfo.exe进程)
最后操作:结束该进程,重启或停止IIS“默认网站”,不论如何inetinfo.exe都会自动重新运行,然后,再停止IIS“默认网站”,运行“黑风Aspweb服务器”,即可解决。
注:进程PID是可以变化的,就是说不同时间运行同一个程序,他的PID号就不同。不同计算机同一个进程的PID号多数情况也是不同的。因此,在结束inetinfo.exe之前的PID是一个三位数,重新启动后,它的PID可能为四位数了。这点不影响问题的解决,我只是好奇,便拿出来说罢了。
=====================
inetinfo.exe:
正常情况下,inetinfo.exe主要用于支持微软Windows IIS网络服务的除错。这个程序对你系统的正常运行是非常重要的。 属于系统组件,不要删除! 他对应的系统服务是 IIS admin Service 或 world wide web publishing service 。如果你停止 IIS admin Service ,那么系统会自动停止world wide web publishing service 、FTP以及SMTP服务。就是上面对应的80、21以及25端口。很好理解。
至于为什么会出现“默认网站“已经停止了,而inetinfo.exe进程还在运行(只要安装了IIS组件,就会有这个进程的),而且80端口被它占用的问题,就复杂了,我们不需要也没必要知道为什么,知道了原理并解决了问题才是关键,不是吗,呵呵~~
当然,也可以尝试,重新启动计算机试试,或者重装IIS试试,也有的人说是卡巴的网络设置,有时间都可以区尝试看看。
windows 如何查看端口占用情况?
第二种方法
开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选"查看"-"选择列"
经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口,很多人都比较头疼,下面就介绍一种非常简单的方法,希望对大家有用
假如我们需要确定谁占用了我们的9050端口
1、Windows平台
在windows命令行窗口下执行:
1.查看所有的端口占用情况
C:>netstat -ano
协议 本地地址 外部地址 状态 PID
TCP 127.0.0.1:1434 0.0.0.0:0 LISTENING 3236
TCP 127.0.0.1:5679 0.0.0.0:0 LISTENING 4168
TCP 127.0.0.1:7438 0.0.0.0:0 LISTENING 4168
TCP 127.0.0.1:8015 0.0.0.0:0 LISTENING 1456
TCP 192.168.3.230:139 0.0.0.0:0 LISTENING 4
TCP 192.168.3.230:1957 220.181.31.225:443 ESTABLISHED 3068
TCP 192.168.3.230:2020 183.62.96.189:1522 ESTABLISHED 1456
TCP 192.168.3.230:2927 117.79.91.18:80 ESTABLISHED 4732
TCP 192.168.3.230:2929 117.79.91.18:80 ESTABLISHED 4732
TCP 192.168.3.230:2930 117.79.91.18:80 ESTABLISHED 4732
TCP 192.168.3.230:2931 117.79.91.18:80 ESTABLISHED 4732
2.查看指定端口的占用情况
C:>netstat -aon|findstr "9050"
协议 本地地址 外部地址 状态 PID
TCP 127.0.0.1:9050 0.0.0.0:0 LISTENING 2016
P: 看到了吗,端口被进程号为2016的进程占用,继续执行下面命令: (也可以去任务管理器中查看pid对应的进程)
3.查看PID对应的进程
C:>tasklist|findstr "2016"
映像名称 PID 会话名 会话# 内存使用
========================= ======== ================
tor.exe 2016 Console 0 16,064 K
P:很清楚吧,tor占用了你的端口。
4.结束该进程
C:>taskkill /f /t /im tor.exe
其他不懂的用 help吧~