我在使用 homebrew 设置 mysql 时遇到了问题,因此我决定卸载它并从头开始。以下是答案这里我尝试通过以下方式终止该过程
- 通过以下方式获取进程 ID:
ps -ax | grep mysql
- 使用
kill -9 PID
来终止进程
我的问题是,即使我没有运行 kill 命令,PID 也会不断变化。例如,这是ps -ax | grep mysql
连续运行 3 次的结果:
➜ ~ ps -ax | grep [email protected]
7251 ttys000 0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn --exclude-dir=.idea --exclude-dir=.tox [email protected]
➜ ~ ps -ax | grep [email protected]
7257 ttys000 0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn --exclude-dir=.idea --exclude-dir=.tox [email protected]
➜ ~ ps -ax | grep [email protected]
7263 ttys000 0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn --exclude-dir=.idea --exclude-dir=.tox [email protected]
在我尝试过的无数种方法中,我
launchctl unload -w ~/Library/LaunchAgents/**file_name_containing_mysql**
然后彻底删除了这个文件- 我在网上找到的另一个建议是运行
sudo launchctl unload /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
(在我的例子中,这是 LaunchDaemons 下唯一包含 mysql 的进程)。结果是:
/Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist:找不到指定的服务卸载失败:113:找不到指定的服务
还有一个有趣的事情是建议使用 sudo 停止 brew 的服务。也尝试了这个:
sudo brew services stop [email protected]
Stopping `[email protected]`... (might take a while)
==> Successfully stopped `[email protected]` (label: [email protected])
神奇的是,我得到了这个卸载后[电子邮件保护]。是的,你读得对。
经过所有这些,运行ps -ax | grep mysql
仍然显示mysql进程正在运行。
简而言之,我想做的是终止所有 mysql 进程。我还没有做什么来彻底终止它?
答案1
我将在这里留下这个问题的答案,以防有人遇到这个问题并吸取教训,从而节省一些宝贵的时间。
➜ ~ ps -ax | grep [email protected]
7251 ttys000 0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn --exclude-dir=.idea --exclude-dir=.tox [email protected]
这个 ps 的结果实际上不是一个进程。它可能是一个 grepping 的过程,仅此而已。我花了很多时间试图杀死已经死了的东西。但你怎么说呢,学习从来都不容易!
答案2
运行 -> 停止 brew mysql 服务 + 卸载 mysql 对我有用。我希望删除的 mysql 版本是 v5.7。
brew services stop [email protected]
brew uninstall --force mysql