SYSTEM(PID 4)正在使用端口80,那是什么?

GiH*_*GiH 328 iis port netstat pid

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

TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4

当我在任务管理器中查找过程时,它显示的PID 4SYSTEM,就是这样.没有延期......没什么.只是" SYSTEM".这里发生了什么?

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


更新:

我已经通过另一个Stack Overflow问题解决了这个问题,该问题的解决方案是让IIS停止在端口80上侦听指定的IP地址.

Ant*_*ony 278

名为"Web部署代理服务"(MsDepSvc)的新服务还可以触发PID = 4的"系统"以侦听端口80.

  • WebMatrix似乎是这里的问题 (7认同)
  • 是的,我可以与Jonathan确认,在安装WebMatrix(及其依赖项,通过Microsoft Web Platform Installer)后,将显示"Web部署代理服务"服务.使用端口80确实不是一个非常友好的设计,特别是如果你也在同一个盒子上运行Apache/IIS服务器. (5认同)
  • 我有与原始海报完全相同的问题.Antony的答案解决了我的问题,因为我没有运行报告服务.我最近安装了WebMatrix,因此也许"Web部署代理服务"作为该软件包的一部分安装.在任何情况下,停止该服务释放端口80.对我来说,像这样的端口80似乎很无耻. (4认同)
  • 您可以在此处更改 MsDepSvc(Web 部署代理服务)的 URL:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\MsDepSvc\Parameters (2认同)

Ant*_*rin 236

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

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

NET stop HTTP
Run Code Online (Sandbox Code Playgroud)

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

为了避免将来出现此问题,请转到本地服务并禁用列出的服务.

注意 - 有些服务会立即重新启动,只需运行几次"NET stop HTTP".

  • 我错过了一个微妙的事实,即你首先会看到一系列正在运行的服务,并选择继续停止它们.这使我能够看到正在运行的内容,选择不停止它们,然后在"服务"面板中找到可疑服务,将其停止并将其设置为手动.安东的解决方案很棒.易于记忆和使用. (6认同)
  • 注意...以管理员身份运行cmd (3认同)
  • 它将停止后台处理程序服务,负责打印机. (2认同)
  • 更好的命令找到罪魁祸首:`netsh http show urlacl`和`netsh http show servicestate`(寻找所有那些:80 in.)来源:https://www.devside.net/wamp-server/opening -up端口-80换的Apache使用的上窗口 (2认同)

inf*_*yde 234

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

  • SQL Server Reporting Services也在我的系统上的端口80上进行侦听.谢谢! (4认同)
  • 更改"Reporting Services配置管理器"中的"Web服务URL"和"Web门户URL",例如,端口82 :-) (4认同)
  • 我在安装MSSql服务器后开始看到这个端口80,直到我看到你的解决方案才意识到这一点.停止服务现在好了.谢谢. (2认同)

Jul*_*lle 85

我有同样的问题.可以通过在运行服务下停止World Wide Web Publishing服务来修复它.


man*_*nji 30

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

如何阅读NETSTAT -AN结果:

  • "意味着端口80正在侦听所有接口(未使用)"并不完全 - 服务"万维网发布服务"正在此端口进行侦听.手动停止后,您可以释放该端口(至少在Windows 7中) (59认同)
  • 为了澄清,万维网发布服务是W3SVC.停止此服务可以解决我的问题. (31认同)
  • 停止和禁用W3SVC服务也适用于我:`sc stop w3svc`然后`sc config w3svc start = disabled` (17认同)
  • LISTENING意味着使用.这意味着有一个进程使用该特定端口,等待来电.我试图启动默认网站,IIS告诉我还有另一个使用端口80的进程.投票最多的答案 - 关于"Web部署代理服务"(MsDepSvc) - 是对正在发生的事情的更好解释. (3认同)
  • 由于这是标记/最重要的答案,但没有回答问题,因此我将在这里放置一些实际有用的信息:使用“netsh http show servicestate view=requestq”并检查列出的实际调用端口的进程 ID。不客气。 (3认同)

Rob*_*vey 29

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

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


Eng*_*uad 27

这对我有用:

  1. 右键单击" 我的电脑".
  2. 选择管理.
  3. 双击" 服务和应用程序".
  4. 然后双击" 服务".
  5. 右键单击" World Wide Web Publishing Service ".
  6. 选择停止.

  • 对于第 5 步,我的问题是 SQL Server Reporting Service。我把它关掉,问题就解决了。我之前关闭了 WWWPublishing 服务,但这并没有解决问题。 (3认同)

Ome*_*iko 25

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

我希望这有帮助.

Ø


Dun*_*ung 21

工作溶液测试:(WINDOWS 10)

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

打开你的窗口命令与管理员PREVILEGE然后:

net stop http /y
Run Code Online (Sandbox Code Playgroud)

以上将同意停止http服务:

sc config http start= disabled
Run Code Online (Sandbox Code Playgroud)

以上将默认配置服务禁用

如果上述解决方案无法解决您的具体案例,请点击此处:

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

重新启动您的网络服务器/ XAMPP/APACHE和完成.


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


Ham*_*han 12

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

net stop http
Run Code Online (Sandbox Code Playgroud)

/sf/answers/1137033341/


Aru*_*hla 12

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

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

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

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

中提琴你可以走了!

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


sei*_*izu 10

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

services.msc显示为"BranchCache"

或者使用net命令来停止服务

网站停止PeerDistSvc

更新:

PeerDistSvc是svhost.exe背后的服务,用于查看svhost服务类型

tasklist/svc/fi"imagename eq svchost.exe"


isJ*_*tMe 8

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

sc stop "MsDepSvc" 
sc config "MsDepSvc" start= disabled 
Run Code Online (Sandbox Code Playgroud)


Pho*_*Pan 7

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)
Run Code Online (Sandbox Code Playgroud)

经过 Google 快速搜索后,我了解到“NT AUTHORITY\NETWORK SERVICE”属于 SQL Server。所以我转到“服务”并停止 SQL Server Reporting Service,当我检查时,端口 80 再次空闲netstat -a -b


FSC*_*Kur 6

以编程方式识别进程

迄今为止的所有答案都要求用户进行一些交互操作。这就是当 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
    }
}
Run Code Online (Sandbox Code Playgroud)

这真的让我大吃一惊。我讨厌 HttpListener 并且希望我只使用 Pode。


归档时间:

查看次数:

469024 次

最近记录:

6 年,1 月 前