在端口80 Mac OSX上杀死未知的自动重启服务器

Ste*_*her 3 apache macos port launch

我的服务器在端口80上运行,但是我不知道它是什么或它来自哪里。当我跑步

sudo lsof -i :80 | grep LISTEN
Run Code Online (Sandbox Code Playgroud)

我懂了

httpd      80    root    5u  IPv6 0x91f5a9de62859cfd      0t0  TCP *:http (LISTEN)
httpd     694    _www    5u  IPv6 0x91f5a9de62859cfd      0t0  TCP *:http (LISTEN)
Run Code Online (Sandbox Code Playgroud)

我试图输入使用PID来获取进程名称,但是我得到的只是“ httpd”或“ FOREGROUND”。

当我杀死PID时,该过程将简单地以新的PID重新开始。我认为我必须在启动时停止它。

如何在启动时阻止该服务器运行?

如果有帮助,我尝试释放端口80以使用MAMP上的apache服务器。

P.J*_*sch 7

就像 Gordon 建议的那样,这是 Apache Web 服务器的内置版本。

你可以用

sudo apachectl stop
Run Code Online (Sandbox Code Playgroud)

顺便说一句,这个网络服务器的配置可以在/etc/apache2/httpd.conf目录中找到。


Gor*_*son 6

这只是一个猜测,但这可能是apache的内置版本,由启动(OS X的守护程序管理器)启动(并重新启动)。默认情况下它是禁用的,但是可能已经启用了。您可以尝试通过以下方式禁用它:

sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
Run Code Online (Sandbox Code Playgroud)

如果这样做没有效果(它会说类似“找不到指定的服务”),则可以通过查找主进程的PID(以root身份运行的PID)来检查它是否是其他启动守护程序项。 ,而不是_www):

sudo launchctl list | grep <masterPID>
Run Code Online (Sandbox Code Playgroud)

那不一定会告诉您发生了什么事,但可能会指出正确的方向。

  • 我一直在与端口 80 上的不可杀死的服务作斗争。我所做的任何事情都无法阻止它,但是您的第一个解决方案有效。但这有什么负面影响吗? (2认同)