我在 Widows 7 Enterprise 上安装了最新的 nginx。出现错误“nginx:[emerg] bind() to 0.0.0.0:80 失败(10013:试图以访问权限禁止的方式访问套接字)”。
TCPView 工具显示 pid 4 SYSTEM 正在监听端口 80。如何确定哪个服务以 PID 4 SYSTEM 身份运行?如果我使用 localhost 转到浏览器,我会收到 HTTP 404 消息。
答案1
没有服务作为 PID 4 运行。PID 4 始终是其system process
本身,在 Windows 中,http.sys 内核驱动程序(在 PID 4 内部运行)通常负责所有 http 流量,并且应用程序可以注册要转发给它们的 IP 地址和 URL。
运行以下命令:
netsh http show servicestate
或者如果输出太长,则通过管道传输:
netsh http show servicestate > %temp%\httpservicestate.txt
您可能会在输出中看到已注册的 URL 或 IP 地址,但也会显示进程 ID 或Controller process IDs
,请根据正在运行的进程列表检查这些 ID,以查找使用 http.sys 的进程
答案2
如果你在任务栏的空白处单击鼠标右键,并选择“启动任务管理器”,然后转到服务选项卡,你将看到计算机上当前可用/正在运行/已停止的所有服务,并列出其 PID,可能会显示哪一个是 4。
我想到另一个想法是,您可能已经安装了 Skype,它带有“某些东西”(抱歉缺乏细节,我从来没有真正了解过它的用途)它绑定在端口 80 上并默认自动启动,Skype 的选项允许您禁用它并释放您的端口。