PID:4 使用端口 80

PID:4 使用端口 80

我试图在我的计算机上安装 Zend Server CE,但当我需要选择 Web 服务器的端口时,它显示:“Web 服务器端口:80 已占用”。因此,我决定使用 CMD 检查哪些端口在使用 80,方法是输入:“netstat -o -n -a | findstr 0.0:80”:

TCP     0.0.0.0:80     0.0.0.0:0     LISTENING     4

我在任务管理器的进程和服务中检查了 PID:4。PID 4 似乎为“系统”。

所以,我想知道如何阻止“系统”(PID:4)使用端口 80?

信息: 我正在使用:Windows 7 64位;Zend Server CE 5.5.0

答案1

好的,在网上搜索了一段时间后,我找到了解决问题的方法。

只需按照以下步骤诊断并解决您的问题:

  1. 获取正在监听 80 端口的 pid:netstat -nao | find ":80"

  2. 打开任务管理器,转到进程选项卡并检查“PID” Menu/View/Select Columns…,然后使用上一步找到的 PID 查找进程。

  3. 如果它是一个正常应用或 IIS,请禁用或卸载它。某些程序(例如 Skype)可以选择禁用其对端口 80 的使用。

  4. 如果它是一个系统进程—PID 4—您需要禁用由其他服务按需启动的 HTTP.sys 驱动程序,例如 Windows 7 或 2008 上的 Windows 远程管理或打印后台处理程序。

    有两种方法可以禁用它,但第一种方法更安全:

    1.

    • 进入设备管理器,从菜单/视图中选择“显示隐藏的设备”,进入“非即插即用驱动程序”/HTTP,双击它以禁用它(或将其设置为手动,某些服务依赖于它)。

    • 重新启动并用于netstat -nao | find ":80"检查 80 是否仍在使用。

    2.

    • 启动 RegEdit。

    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP

    • 将“start”的值改为4,表示禁用。

    • 重新启动计算机。

我的解决方案是步骤4

答案2

我刚刚在安装 Windows 8 Pro - Build 9200 后遇到了这个问题。我尝试了几种方法,但都不起作用。不过,这个方法解决了这个问题。

您需要更改 HTTP.SYS 的绑定 IP 地址

netsh http add iplisten ipaddress=::

http://www.mikeplate.com/2011/11/06/stop-http-sys-from-listening-on-port-80-in-windows/

答案3

就我而言,它是 WebMatrix。在此处查看可能的解决方案(包括此解决方案):http://www.sitepoint.com/unblock-port-80-on-windows-run-apache/

基本上:

从管理工具中打开服务并找到“Web 部署代理服务”。停止该服务并将其启动类型设置为“手动”。

Web 部署代理服务是随 WebMatrix 一起部署的,这也是我遇到麻烦的原因。它也可能随使用 Microsoft 的 Web 平台安装程序安装的其他应用程序一起分发。

答案4

虽然使用该命令netsh http add iplisten ipaddress=::确实允许 Apache 在我的 Windows 10 64 位系统上启动,但它在尝试访问 localhost 时造成了严重破坏,因为即使我的 hosts 文件中有正确的条目,它仍被绑定到::而不是127.0.0.1。我最终改用了这个命令: netsh http add iplisten ipaddress=0.0.0.0 这不仅有效,而且还允许浏览器访问 localhost。对我来说,这是一个更好的解决方案。

相关内容