首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在端口80 Mac OSX上杀死未知的自启动服务器

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

Stack Overflow用户
提问于 2016-09-03 17:55:10
回答 4查看 6.5K关注 0票数 16

我有一个运行在端口80上的服务器,但是我不知道它是什么,也不知道它从哪里来。当我跑的时候

代码语言:javascript
复制
sudo lsof -i :80 | grep LISTEN

我得到了

代码语言:javascript
复制
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服务器。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-09-03 21:20:34

这只是猜测,但它可能是内置版本的apache,由launchd (OS的守护进程管理器)启动(&重新启动)。默认情况下是禁用的,但可能已经启用了。您可以尝试使用以下方法禁用它:

代码语言:javascript
复制
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

如果这样做不起作用(它会说“无法找到指定的服务”),您可以通过查找主进程的PID (作为根进程运行的PID,而不是_www)来检查它是否是其他启动守护进程项目:

代码语言:javascript
复制
sudo launchctl list | grep <masterPID>

这并不一定能告诉你到底发生了什么,但可能会给你指明正确的方向。

票数 25
EN

Stack Overflow用户

发布于 2016-09-04 12:02:23

正如Gordon所建议的,这是Apache web服务器的内置版本。

你可以用

代码语言:javascript
复制
sudo apachectl stop

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

票数 8
EN

Stack Overflow用户

发布于 2018-04-11 04:41:34

这种事经常发生在我身上。正如@Gordon解释的那样,最有可能的情况是,launchdeamon流程与您设置的服务冲突。绝对停止apachetl服务器。

代码语言:javascript
复制
sudo apachetl -k stop

尝试找到所有httpd进程,它们应该是最后一个。

代码语言:javascript
复制
sudo lsof -i :80 // without grep

那么第一个进程(最有可能在1000秒)也应该是最低的。

代码语言:javascript
复制
sudo kill <firstHttpdPID>

这将杀死运行httpd实例的所有进程,然后只需启动服务器。但是必须先停止它,否则它会继续运行。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39309814

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档