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

TCP 0.0.0.0:80 0.0.0.0:0监听4

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

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


当前回答

以下五个步骤可以很容易地解决这个问题:

开放服务 右击万维网出版服务 点击停止

为防止此类问题再次发生:

转到属性 修改“启动类型”为“手动”

维奥拉准备好了!

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

其他回答

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

如何读取NETSTAT -AN结果:

https://sites.google.com/site/xiangyangsite/home/technical-tips/linux-unix/networks-related-commands-on-linux/how-to-read-netstat--an-results

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

我有同样的问题,除了我从来没有使用IIS。当我修复另一个系统错误时,我将apache服务设置为手动启动,希望降低系统的复杂性。在我修复了另一个bug后,apache无法启动。我弄了一段时间,但只需要将apache设置为自动启动:启动>管理工具>服务。

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

hth某人。我在谷歌上搜索的结果都是“IIS和Apache不能在同一台机器上”。“这是为了我们当中的百分之一。

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

我希望这能有所帮助。

O

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

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