我有一个运行在端口80上的服务器,但是我不知道它是什么,也不知道它从哪里来。当我跑的时候
sudo lsof -i :80 | grep LISTEN我得到了
httpd 80 root 5u IPv6 0x91f5a9de62859cfd 0t0 TCP *:http (LISTEN)
httpd 694 _www 5u IPv6 0x91f5a9de62859cfd 0t0 TCP *:http (LISTEN)我尝试使用PID输入get进程名,但我得到的回报是"httpd“或”前台“。
当我关闭PID的时候,这个过程只是用一个新的PID重新开始。我想我必须在发射时阻止它。
如何阻止此服务器在启动时运行?
如果有帮助的话,我正在尝试释放端口80来使用MAMP上的apache服务器。
发布于 2016-09-03 21:20:34
这只是猜测,但它可能是内置版本的apache,由launchd (OS的守护进程管理器)启动(&重新启动)。默认情况下是禁用的,但可能已经启用了。您可以尝试使用以下方法禁用它:
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist如果这样做不起作用(它会说“无法找到指定的服务”),您可以通过查找主进程的PID (作为根进程运行的PID,而不是_www)来检查它是否是其他启动守护进程项目:
sudo launchctl list | grep <masterPID>这并不一定能告诉你到底发生了什么,但可能会给你指明正确的方向。
发布于 2016-09-04 12:02:23
正如Gordon所建议的,这是Apache web服务器的内置版本。
你可以用
sudo apachectl stop顺便说一下,这个etc服务器的配置可以在/etc/apache2/httpd.conf目录中找到。
发布于 2018-04-11 04:41:34
这种事经常发生在我身上。正如@Gordon解释的那样,最有可能的情况是,launchdeamon流程与您设置的服务冲突。绝对停止apachetl服务器。
sudo apachetl -k stop尝试找到所有httpd进程,它们应该是最后一个。
sudo lsof -i :80 // without grep那么第一个进程(最有可能在1000秒)也应该是最低的。
sudo kill <firstHttpdPID>这将杀死运行httpd实例的所有进程,然后只需启动服务器。但是必须先停止它,否则它会继续运行。
https://stackoverflow.com/questions/39309814
复制相似问题