我当前正在运行macOS High Sierra版本10.13.6。
这是我在浏览器中加载localhost:8080时得到的: Apache / PHP server screenshot
我不知道如何在此端口上启动该服务器,因为我从未使用过这些技术。我时不时地搞网络开发,但是我不知道服务器启动时我在做什么。我已经研究了如何终止进程,到目前为止,我最接近终止服务器的任务是终止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进程,但这也没有用。好像我发现的任何过程都不正确。有没有人有什么建议可以帮助我找到并杀死托管服务器的进程?
答案 0 :(得分:0)
在命令行中为:
sudo /usr/sbin/apachectl stop
为防止它在下次重新启动时启动:
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
请注意,我不知道在您的系统上还有什么使用apache,所以这可能会破坏事情。
答案 1 :(得分:0)
您可以尝试:
ps -e | grep httpd
这将向您显示apache httpd PID。
另一种方法是使用pstree
安装brew:
brew install pstree
pstree会将正在运行的进程显示为树。然后,您可以使用以下命令找到 PPID :
pstree | grep httpd
然后,您可以使用kill
终止该过程。我在 macOS High Sierra 上测试了这两种方法。
答案 2 :(得分:0)
lsof -nP -i | grep "TCP.*:8080.*LISTEN"
使用lsof
查找在端口8080上等待连接(“ LISTEN”)的进程。使用该输出中的PID列终止该进程。