Apache 无法启动,因为端口 80 被未知程序占用。使用各种参数的 Netstat 均未显示任何正在监听端口 80 的内容。当未显示任何正在使用端口 80 的内容时,如何强制端口 80 断开连接?
答案1
您可以使用lsof -i <Internet address>
命令。对于您来说lsof -i :80
,结果将如下所示。
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
的值PID
可用于终止该进程。
您可以在“查找哪个进程拥有端口号“
答案2
非常感谢您的建议。我尝试了 netstat 和其他几个程序,最后找到了“portreporter”。最后我找不到任何指向端口 80 的东西,所以我备份了所有内容,删除了 Apache 并重新安装。现在一切正常。我猜是某些 Apache 软件损坏了。无论如何,当卸载 Apache 时,端口 80 是空闲的,没有被使用。再次安装 Wamp 软件后,一切都恢复正常。我知道是 Apache 的问题,因为我仍然可以访问文件夹、文件和数据库,只是由于端口 80 被使用而无法启动 Apache。再次感谢!
答案3
尝试 netstat -ao
A 将显示所有连接 O 将显示进程 ID (pid)
您也可以尝试
Telnet 127.0.0.1 80 并尝试 GET 以查看是否可以获得 http 响应以获取更多线索
答案4
检查您在后台运行的服务/应用程序类型。进程资源管理器可用于识别正在运行的进程,并跟踪这些服务到它们各自的 TCP 连接。
也许您在运行 Apache 之前安装了另一个 Web 服务器?