我目前正在运行macOS High Sierra版本10.13.6。
这是我在浏览器中加载localhost:8080时得到的:Apache / PHP server screenshot
我不知道这个服务器是如何在这个端口上启动的,因为我从未使用过这些技术。我时不时地讨论Web开发,但我不知道服务器启动时我在做什么。我已经研究了如何杀死这个过程,到目前为止,我最接近结束服务器的是杀死我的chrome浏览器。我试图找到在端口8080上运行的进程的一些事情:
ps aux | grep 8080
lsof -t -i @localhost:8080
netstat -l -p | grep 8080
lsof -nP -i | grep 8080
还有一些看起来和我试过的相似,但我不记得所有这些。当使用lsof命令时,我通常必须在他们面前放置sudo以显示任何内容。我有时候什么都得不回来,有时我会得到这样的东西:Terminal output from lsof
和ps aux
output where the Postgres processes are。
当我得到具有与之关联的PID的进程时,我会尝试用kill -9 <PID>
杀死它们。通常我不得不用sudo强制这个,因为它给了我一个权限被拒绝错误(可能不是最好的做法)。当我这样做时,似乎没有任何事情发生,除了在我杀死最初的那些之后我搜索的其他过程。我也尝试从ps aux结束与Postgres相关的进程,但这也没有用。看起来我发现的任何过程都不正确。有没有人有任何建议可以帮助我找到并杀死托管服务器的进程?
从命令行,它将是:
sudo /usr/sbin/apachectl stop
为了防止它在下次重启时启动:
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
请注意,我不知道你的系统上还有哪些使用apache,所以这可能会破坏一些东西。
lsof -nP -i | grep "TCP.*:8080.*LISTEN"
使用lsof
查找端口8080上等待连接(“LISTEN”)的进程。使用该输出中的PID列终止进程。