405

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

TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4

当我在任务管理器中查找进程时,它显示PID 4SYSTEM,就是这样。没有扩展......什么都没有。只是“ SYSTEM”。这里发生了什么?

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

4

37 回答 37

300

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

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

NET stop HTTP

当您启动它时,您将首先获得列表: 在此处输入图像描述

为避免以后出现此问题,请转到本地服务并禁用列出的服务

注意- 一些服务会立即自行重启,只需运行 'NET stop HTTP' 几次

于 2014-10-30T13:11:42.027 回答
298

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

于 2011-04-20T19:42:40.783 回答
255

另外,尝试停止“SQL Server Reporting Services (MSSQLSERVER)”,这显然默认为 80。我这样做并释放了端口 80。PID 将罪魁祸首确定为“系统”,但显然该系统可能意味着多种事物。

于 2010-06-28T23:46:50.733 回答
94

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

于 2012-09-11T07:12:54.070 回答
42

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

如何读取 NETSTAT -AN 结果:

于 2009-09-15T23:32:44.320 回答
34

这对我有用:

  1. 右键单击我的电脑
  2. 选择管理
  3. 双击服务和应用程序
  4. 然后双击服务
  5. 右键单击“万维网发布服务”。
  6. 选择停止
于 2014-01-14T07:18:24.703 回答
33

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

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

于 2009-09-15T23:26:12.960 回答
31

经过测试的工作解决方案:(WINDOWS 10)

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

使用管理员权限打开您的窗口命令然后:

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/

于 2017-02-10T22:44:27.290 回答
27

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

我希望这有帮助。

于 2015-01-20T14:55:58.757 回答
19

另一个可能占用 80 端口的服务是BranchCache

services.msc将其显示为“BranchCache”

或使用net命令停止服务,如

net stop PeerDistSvc

更新:

PeerDistSvc 是 svhost.exe 后面的一个服务,查看 svchost 服务类型

tasklist /svc /fi "imagename eq svchost.exe"
于 2014-02-11T13:28:25.450 回答
19

这可以通过以下五个步骤轻松解决:

  1. 开放服务
  2. 右键单击万维网发布服务
  3. 点击停止

为了防止将来出现此问题:

  1. 转到属性
  2. 将启动类型更改为手动

中提琴你很高兴!

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

于 2019-03-27T12:55:27.343 回答
12

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

net stop http

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

于 2016-04-12T08:28:13.300 回答
9

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

sc stop "MsDepSvc" 
sc config "MsDepSvc" start= disabled 
于 2014-01-07T02:35:24.993 回答
4

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

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

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

我不记得一开始就打开 IIS。在这件事发生之前,我已经跑了好几个月了。我仍然不知道是什么原因造成的。也许以前的 Windows 更新启用了 iis 并且我的重新启动打开了它,我不知道。

于 2014-01-23T06:47:49.520 回答
4

这个过程对我有用:

  1. 右键单击我的电脑。
  2. 选择管理。
  3. 双击服务和应用程序。
  4. 然后双击服务。
  5. 右键单击“万维网发布服务”。
  6. 选择停止
  7. 重启 XAMPP
于 2018-05-23T07:19:05.787 回答
4

在最新版本的 Windows 上,此服务称为“万维网发布服务”(W3SVC)

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

您可以通过转到服务 (services.msc) 并停止该服务,然后设置“启动类型”-> 禁用以防止它在 Windows 启动时运行来停止此服务。

于 2021-09-24T04:13:17.517 回答
3

我遇到了同样的问题,只是我从未使用过 IIS。在修复另一个系统错误时,我将 apache 服务设置为手动启动,希望降低系统的复杂性。在我修复了另一个错误后,apache 无法启动。我做了一段时间,但只需要将 apache 设置回自动启动:开始 > 管理工具 > 服务。

显然,当 Apache 以这种方式启动时,它会在 SYSTEM 进程之前占用端口 80。

某人。我所有的谷歌搜索都出现了“不能在同一台机器上安装 IIS 和 Apache”。这是为我们其他百分之一的人准备的。

于 2011-02-23T04:25:36.517 回答
3

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

于 2021-02-17T23:39:12.463 回答
2

试试 netstat -b,希望能对情况有所了解(显示什么 .exe 正在使用该端口)。祝你好运。

于 2009-09-15T23:27:08.480 回答
2

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

于 2013-11-15T09:47:11.437 回答
2

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

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

于 2017-05-01T09:44:30.843 回答
2

以编程方式识别流程

迄今为止的所有答案都要求用户做一些交互式的事情。这就是当 netstat 向您显示 PID 4 时您如何找到 PID,而无需打开某些 GUI 或处理有关依赖服务的对话。

$Uri = "http://127.0.0.1:8989"    # for example


# Shows processes that have registered URLs with HTTP.sys
$QueueText = netsh http show servicestate view=requestq verbose=yes | Out-String

# Break into text chunks; discard the header
$Queues    = $QueueText -split '(?<=\n)(?=Request queue name)' | Select-Object -Skip 1

# Find the chunk for the request queue listening on your URI
$Queue     = @($Queues) -match [regex]::Escape($Uri -replace '/$')


if ($Queue.Count -eq 1)
{
    # Will be null if could not pick out exactly one PID
    $ProcessId = [string]$Queue -replace '(?s).*Process IDs:\s+' -replace '(?s)\s.*' -as [int]

    if ($ProcessId)
    {
        Write-Verbose "Identified process $ProcessId as the HTTP listener. Killing..."
        Stop-Process -Id $ProcessId -Confirm
    }
}

这真的毁了我的排骨。我讨厌 HttpListener 并希望我只是使用 Pode。

于 2021-01-22T21:14:00.253 回答
1

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

于 2009-09-15T23:41:16.893 回答
1

就我而言,它发生在安装 Microsoft Web Matrix 之后。与“Microsoft Web Deploy”一起卸载这个垃圾箱解决了这个问题。

于 2013-06-15T01:38:42.060 回答
1

这些都不适合我。我不得不去一个超级用户问题

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

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

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

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

这是对我有用的!

于 2014-03-13T20:48:36.527 回答
1

我四处寻找PID 4并提出了这个问题。从这个答案和一篇博客文章中,我认为与 PID 4 相关的任何事情都可能是 Windows 服务,因此您可能需要在services.msc.

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

于 2014-12-29T03:09:54.233 回答
1

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

于 2015-05-19T07:31:53.947 回答
1

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

于 2015-07-23T12:01:11.943 回答
1

BranchCache 是我的问题。我的决定是以管理员身份运行 Powershell 并运行:

Disable-BC -Force

参考:https ://docs.microsoft.com/en-us/powershell/module/branchcache/disable-bc?view=win10-ps

于 2019-07-15T18:46:07.943 回答
0

对我来说,我必须在我的 VM 上卸载“Citrix Virtual Desktop Agent”

于 2014-01-17T19:22:51.870 回答
0

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

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

在此处输入图像描述

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

这是在对尝试了许多其他方法后无法启动的 IIS 进行故障排除时获得的。我认为你不应该停止这个过程。

于 2014-03-17T05:08:16.347 回答
0

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

如果停止有World Wide Web Publishing Service帮助

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

于 2017-01-23T11:47:21.423 回答
0

我停止了万维网发布服务,然后它起作用了。

于 2019-03-14T14:02:13.963 回答
0

此外,“开发人员门户”(在 Windows 10 上)会导致系统侦听 TCP 端口。通常是端口 50080 和 50443。

于 2019-12-23T10:40:04.147 回答
-1

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

于 2018-09-25T09:38:59.963 回答
-1

在阅读了有关该问题的所有答案并尝试了所有方法后,无济于事,我卸载并重新安装了 XAMPP,该方法有效。

于 2021-03-21T05:06:14.773 回答
-1

视窗 11

对我来说,是万维网发布服务让系统使用端口 80。

希望对 Win11 新用户有所帮助。

于 2021-12-01T09:47:13.177 回答