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

TCP 0.0.0.0:80 0.0.0.0:0监听4

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

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


当前回答

有许多服务可以在windows上监听端口80。

幸运的是,你可以通过简单的控制台命令来检测并停止它们:

NET stop HTTP

当你启动它时,你会首先得到列表:

为了避免将来出现这种问题,请访问本地服务并禁用所列出的服务。

注意:有些服务会立即重新启动,只需要运行几次“NET stop HTTP”。

其他回答

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

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.

这招对我很管用!

另外,尝试停止“SQL Server Reporting Services (MSSQLSERVER)”,显然默认值是80。我这样做了,端口80释放了。PID认为罪魁祸首是“系统”,但显然这个系统可以有多种含义。

如果你运行的是Windows Server 2012 R2,那么确保去掉工作文件夹:http://blogs.technet.com/b/filecab/archive/2013/10/15/windows-server-2012-r2-resolving-port-conflict-with-iis-websites-and-work-folders.aspx 删除文件服务器下的工作文件夹功能对我有用。

我发现“SQL Server Reporting Services (MSSQLSERVER)”自动启动并在端口80上监听。

我希望这能有所帮助。

O

一个名为“Web部署代理服务”(MsDepSvc)的新服务也可以触发PID=4的“系统”在80端口上监听。