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

TCP 0.0.0.0:80 0.0.0.0:0监听4

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

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


当前回答

这些对我都没用。我不得不回答一个超级用户的问题。

If it is a System Process—PID 4—you need to disable the HTTP.sys driver which is started on demand by another service, such as Windows Remote Management or Print Spooler on Windows 7 or 2008. There is two ways to disable it but the first one is safer: Go to device manager, select “show hidden devices” from menu/view, go to “Non-Plug and Play Driver”/HTTP, double click it to disable it (or set it to manual, some services depended on it). Reboot and use netstat -nao | find ":80" to check if 80 is still used.

这招对我很管用!

其他回答

以下五个步骤可以很容易地解决这个问题:

开放服务 右击万维网出版服务 点击停止

为防止此类问题再次发生:

转到属性 修改“启动类型”为“手动”

维奥拉准备好了!

有关根本原因的更多信息:https://serverfault.com/questions/65717/port-80-is-being-used-by-system-pid-4-what-is-that

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

在windows的最新版本中,这项服务被称为“万维网发布服务”(W3SVC)。

C:\Windows\system32\svchost.exe -k iissvcs

您可以通过进入Services (Services .msc)并停止该服务,然后设置“启动类型”—>禁用,以防止它在windows启动时运行。

我知道这些答案是对的,但我的服务。MSC没有展示这些服务,但这确实奏效了:

sc stop "MsDepSvc" 
sc config "MsDepSvc" start= disabled 

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