我试图为我的应用服务器使用端口80,但当我执行netstat -aon时,我得到:

TCP 0.0.0.0:80 0.0.0.0:0监听4

当我在任务管理器中查找进程时,它显示PID 4是SYSTEM,就是这样。没有扩展…什么都没有。“系统”。这是怎么回事?

我害怕结束这个过程,我该怎么办?


当前回答

尝试netstat -b,这可能会对情况有所帮助(显示什么.exe正在使用端口)。祝你好运。

其他回答

对我来说,我必须在我的虚拟机上卸载“Citrix虚拟桌面代理”

另一个可能占用端口80的服务是BranchCache

服务。msc将其显示为“BranchCache”

或者使用net命令停止服务

net stop PeerDistSvc

更新:

PeerDistSvc是svhost.exe后面的一个服务,可以查看svchost服务类型

tasklist /svc /fi "imagename eq svchost.exe"

这不能解释PID方面的事情,但如果你运行Skype,它喜欢使用端口80出于某种原因。

Netsh HTTP Show Urlacl

这个命令在前面的评论中提到过,但我想把它作为一个答案。它将为您提供系统中所有保留的url。如果您查看URL中所有带有“80”的记录,您就会得到您的答案。

例如,在我的例子中,我得到:

Reserved URL: http://+:80/Temporary_Listen_Addresses/
        User: \Everyone
            Listen: Yes
            Delegate: No
            SDDL: D:(A;;GX;;;WD)

Reserved URL: http://+:80/0131501b-d67f-491b-9a40-c4bf27bcb4d4/
        User: NT AUTHORITY\NETWORK SERVICE
            Listen: Yes
            Delegate: No
            SDDL: D:(A;;GX;;;NS)

在快速谷歌搜索后,我了解到“NT AUTHORITY\NETWORK SERVICE”属于SQL Server。所以我去了服务,停止SQL Server报告服务,端口80是空闲的,因为我检查netstat -a -b

听起来好像IIS正在监听HTTP请求的80端口。

尝试通过进入控制面板/管理工具/Internet信息服务停止IIS,右键单击默认网站,然后单击弹出菜单中的停止选项,并查看端口80上的侦听器是否已清除。