如何杀死在本地主机端口8080上运行的Apache / PHP服务器?

问题描述 投票:1回答:3

我目前正在运行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 lsofps aux output where the Postgres processes are

当我得到具有与之关联的PID的进程时,我会尝试用kill -9 <PID>杀死它们。通常我不得不用sudo强制这个,因为它给了我一个权限被拒绝错误(可能不是最好的做法)。当我这样做时,似乎没有任何事情发生,除了在我杀死最初的那些之后我搜索的其他过程。我也尝试从ps aux结束与Postgres相关的进程,但这也没有用。看起来我发现的任何过程都不正确。有没有人有任何建议可以帮助我找到并杀死托管服务器的进程?

php bash apache unix port
3个回答
0
投票

从命令行,它将是:

sudo /usr/sbin/apachectl stop

为了防止它在下次重启时启动:

sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

请注意,我不知道你的系统上还有哪些使用apache,所以这可能会破坏一些东西。


0
投票

你可以尝试:

ps -e | grep httpd

这将显示apache httpd PID。另一种方法是使用pstree安装brew

brew install pstree

pstree将以树形式显示正在运行的进程。然后您可以使用以下命令找到PPID:

pstree | grep httpd

然后你可以使用kill来终止进程。我在macOS High Sierra上测试了两种方式。


0
投票
lsof -nP -i | grep "TCP.*:8080.*LISTEN"

使用lsof查找端口8080上等待连接(“LISTEN”)的进程。使用该输出中的PID列终止进程。

© www.soinside.com 2019 - 2024. All rights reserved.