代码之家  ›  专栏  ›  技术社区  ›  GiH

系统正在使用端口80(PID 4),这是什么?

  •  294
  • GiH  · 技术社区  · 16 年前

    我正在尝试将端口80用于我的应用程序服务器,但当我执行 netstat -aon 我得到:

    TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4

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

    我不敢结束这个过程,我该怎么办?


    更新 :

    我已经解决了这个问题 another Stack Overflow question 它的解决方案是让IIS停止在端口80上侦听指定的IP地址。

    28 回复  |  直到 7 年前
        1
  •  30
  •   Toby Allen mercator    9 年前

    IP地址为0.0.0.0,状态=侦听:表示端口80正在侦听所有接口(未使用)

    如何读取netstat-结果:

        2
  •  271
  •   Antony    14 年前

    名为“Web部署代理服务”(msdeployment agent service)的新服务也可以触发pid=4的“system”来监听端口80。

        3
  •  227
  •   Ebrahim Asadi    14 年前

    另外,尝试停止“SQL Server Reporting Services(MSSQLServer)”,这显然是默认值80。我做到了,80端口释放了。PID将罪魁祸首识别为“系统”,但很明显,系统可能意味着多个方面。

        4
  •  212
  •   Anton    11 年前

    有许多服务,可以在Windows上侦听端口80。

    幸运的是,您可以检测并停止它们运行简单的控制台命令:

    NET stop HTTP
    

    当您开始时,您将首先得到列表: enter image description here

    为避免将来出现此问题,请访问本地服务和 disable listed services .

    N.B. -有些服务会立即重新启动,只是 运行“net stop http”几次 .

        5
  •  83
  •   Jules Colle    13 年前

    我也有同样的问题。可以通过在运行的服务下停止万维网发布服务来修复它。

        6
  •  25
  •   Robert Harvey    16 年前

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

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

        7
  •  23
  •   Eng.Fouad    12 年前

    这对我很有用:

    1. 右击 我的电脑 .
    2. 选择 管理 .
    3. 双击 服务和应用 .
    4. 然后双击 服务 .
    5. 右键单击“ 万维网发布服务 “。
    6. 选择 停止 .
        8
  •  21
  •   Omeriko    11 年前

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

    我希望这有帮助。

    o

        9
  •  16
  •   Dung    8 年前

    测试的工作解决方案:(Windows 10)

    原因很多,我建议的一个原因是:

    以管理员权限打开window命令,然后:

    net stop http /y
    

    以上内容将同意停止HTTP服务,然后:

    sc config http start= disabled
    

    上面将配置默认禁用服务

    如果上述解决方案不起作用,请在此处找到您的具体案例:

    资料来源: http://www.devside.net/wamp-server/opening-up-port-80-for-apache-to-use-on-windows

    重新启动Web服务器/xampp/apache并完成。


    如果需要重新启用默认值,这里是命令 sc config HTTP start= demand 解释的来源在这里 http://servicedefaults.com/10/http/

        10
  •  11
  •   Community Mohan Dere    8 年前

    问题是如何释放它,只需使用

    net stop http
    

    https://stackoverflow.com/a/16243333/777982

        11
  •  8
  •   seizu    11 年前

    可以占用端口80的另一个服务是 分支缓存

    services.msc将其显示为“BranchCache”

    或使用 命令停止服务

    net停止peerdistsvc

    更新:

    peerdistsvc是svhost.exe后面的服务,用于查看svhost服务类型

    任务列表/svc/fi“imagename eq svchost.exe”

        12
  •  7
  •   isJustMe    12 年前

    我知道这些答案是正确的,但是我的services.msc没有显示这些服务,但是这确实起了作用:

    sc stop "MsDepSvc" 
    sc config "MsDepSvc" start= disabled 
    
        13
  •  4
  •   godzilla    12 年前

    我今天刚遇到这个问题,因为它是在诺顿要求重启后出现的,所以我责怪诺顿。
    但它不是诺顿,我删除了诺顿,重新启动了--问题仍然存在。

    netstat-nao显示pid 4拥有我的端口80连接。

    然后我去了控制面板, 然后“打开或关闭Windows功能” 然后取消选中Internet信息服务。
    重新启动后,问题就消失了。
    我的xampp服务器现在运行正常。

    我一开始就不记得打开了。 这件事发生之前我已经跑了好几个月了。 我还是不知道是什么引起的。 可能以前的Windows更新启用了IIS,我的重新启动打开了它,我不知道。

        14
  •  3
  •   changokun    14 年前

    我也有同样的问题,只是我从来没有用过IIS。在修复另一个系统错误时,我将Apache服务设置为手动启动,希望降低系统的复杂性。在我修复了另一个bug之后,Apache就不会启动了。我尝试了一段时间,但所需的只是将Apache重新设置为自动启动:启动>管理工具>服务。

    显然,当Apache以这种方式启动时,它会在系统进程启动之前声明端口80。

    有人。我所有的谷歌搜索都显示“不能在同一台机器上安装IIS和Apache”,这是我们中的另一个百分比。

        15
  •  2
  •   Jon Onstott    16 年前

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

        16
  •  2
  •   danpop    12 年前

    对我来说,它在停止Web部署代理服务后工作。

        17
  •  2
  •   maurisrx    8 年前

    如果您使用Razer产品并在PC上安装Razer Synapse软件,它也会阻塞端口80。

    它不包括在 netstat 命令,因此我无法对其进行故障排除。由于软件中包含许多服务,所以我无法分析哪个服务阻塞了端口。卸载Razer Synapse之后,我可以在Windows10上再次启动Apache服务器。

        18
  •  2
  •   Manideep    7 年前

    这个过程对我很有效:

    1. 右键单击“我的电脑”。
    2. 选择管理。
    3. 双击服务和应用程序。
    4. 然后双击服务。
    5. 右键单击“万维网发布服务”。
    6. 选择停止
    7. 重新启动XAMPP
        19
  •  1
  •   davidtbernal    16 年前

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

        20
  •  1
  •   laurent    12 年前

    在我的例子中,它发生在安装Microsoft Web Matrix之后。卸载此垃圾箱以及“Microsoft Web Deploy”解决了此问题。

        21
  •  1
  •   Community Mohan Dere    8 年前

    这些都不适合我。我不得不去问一个超级用户问题: https://superuser.com/questions/352017/pid4-using-port-80 .


    如果是系统进程“PID 4”,则需要禁用另一个服务(如Windows 7或2008上的Windows远程管理或打印后台处理程序)按需启动的http.sys驱动程序。

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

    1。

    转到设备管理器,从菜单/视图中选择__显示隐藏设备__,转到__非即插即用驱动程序_/http,双击禁用它(或将其设置为手动,某些服务依赖于它)。

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


    这是为我工作的!

        22
  •  1
  •   Community Mohan Dere    8 年前

    我在四处寻找pid 4,然后回答这个问题。从 this answer 和A blog post 我认为与pid 4有关的任何事情都可能是Windows服务,因此您可能希望在 services.msc .

    此外,此进程由系统运行,该系统被视为另一个“登录”用户。

        23
  •  1
  •   Kamiel Ahmadpour    10 年前

    我也遇到了同样的问题,因为服务器上运行的是IIS,如果是这样的话,您可以使用IIS管理器来停止它。

        24
  •  1
  •   Krzysztof J. Obara    10 年前

    如果运行的是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 删除文件服务器下的工作文件夹功能对我有效。

        25
  •  0
  •   Jerinaw    12 年前

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

        26
  •  0
  •   user2063329    11 年前

    即使在“显示所有用户的进程”上打勾,PID=4也不会显示在任务管理器中。只有一个用户。

    但是,netstat-b显示了指向同一pid=4的多个连接,在这台计算机上显示了以下内容。

    enter image description here

    我只选择了那些与TCP协议相关的。

    这是在解决IIS问题时获得的,该问题在尝试其他许多解决方案后没有启动。我认为你不应该停止这个过程。

        27
  •  0
  •   Shimon Doodkin    9 年前

    类型 netstat -a -n -b -o |more

    如果停止 World Wide Web Publishing Service 帮助

    然后在 IIS管理器 查看每个站点的 绑定 设置,通过选择一个站点并在侧面板上单击绑定。然后根据需要将端口80更改为其他端口。

        28
  •  0
  •   Jesse Mwangi    7 年前

    我刚使用服务并停止了Web部署代理