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

TCP 0.0.0.0:80 0.0.0.0:0监听4

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

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


当前回答

我在寻找PID 4,然后想到了这个问题。从这个回答和一篇博客文章中,我发现任何与PID 4有关的东西都可能是一个Windows服务,所以你可能想在services.msc中寻找相关的服务。

此外,该进程由System运行,它被认为是另一个“登录”用户。

其他回答

我只是去服务和停止web部署代理

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

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

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

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.

这招对我很管用!

工作解决方案-在Windows 10上测试

造成这种情况的原因有很多,我推荐的一个原因/解决方案是:

以管理员身份打开命令行,然后:

停止HTTP服务

Net停止HTTP /y

配置'http'服务默认为禁用

Sc config HTTP start=disabled

如果上述解决方案不工作,找到你的具体情况-在这里

重新启动web服务器/XAMPP/Apache,你就完成了。


重新启用http服务

use

sc config HTTP start= demand

解释的来源在这里

https://web.archive.org/web/20190917190806/http://servicedefaults.com/10/http/