在 Mac OS X 中,不让它自行重新启动,如何终止进程

・5 分钟阅读

问题:

当我运行 sudo kill -9 [PID] 使用正确的进程ID,进程停止但随后重新启动并具有新的PID。 我在尝试杀死 mysqld 进程。

如何在杀死进程的过程中模拟活动监视器? 在活动监视器中,当你按"退出进程"时,进程永久停止运行,它完全终止。 我认为 kill 会做同样的事情?

我有活动监视器和终端彼此相邻,看看命令是否有效,但每次我都这样做 sudo kill -9 [PID] ,活动监视器中的进程不会消失,它只是用一个新的PID刷新。

那么。我怎样通过终端杀死 mysqld 进程?


回答 1:

您正在查杀的进程可能是由launchd管理的,正确的方法是停止它并让它不重新启动即可使用 launchctl unload <path to plist> 控制该进程的plist在 /Library/LaunchDaemons 或者 /System/Library/LaunchDaemons 中。 如果它是一个系统进程,而不是你自己的,那么你可以能需要使用 sudo 来使 launchctl 正常工作。

尝试并阻止它的更好方法可能是:


${MYSQL_HOME}/bin/mysqladmin -u root -proot shutdown>/dev/null 2>&1




回答 2:

有几条评论提到"推出可能涉及" - 所以我想我会把它作为一个额外的答案。 launchctl list | grep mysqld

你在这里学到的重要一点是MySQL是否与 Homebrew 一起安装- Brew将 launchctl 文件存储在与OSX放置"常规"服务不同的位置 。

我的OSX文件中,plist 文件在 ~/Library/LaunchAgents/ 中,所以我运行:


launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist



停止MySQL服务器。 以前我查看过 /Library/LaunchDaemons//Library/LaunchAgents,但没有在它的名称中找到带有 mysqld的文件。

你也可以安装一个名为 services 的brew系统来管理所有brew安装的服务应用程序, 如本文所述- http://robots.thoughtbot.com/starting-and-stopping-background-services-with-homebrew 我自己没有尝试过


回答 3:

我试图通过发送 TERM 信号来杀死这个进程。 命令是:


sudo kill -15 {PID}




回答 4:

卸载服务并停止守护进程:


sudo launchctl unload -w/Library/LaunchDaemons/com.mysql.mysql.plist



加载服务并启动守护进程:


sudo launchctl load -w/Library/LaunchDaemons/com.mysql.mysql.plist




回答 5:

对我来说,一旦我找到了我要寻找的标签,这。


launchctl list | egrep {DESIRED_LABEL} 


launchctl remove {DESIRED_LABEL}




回答 6:

你想杀死什么进程? Mac OS X ( 比如,Dock,一些系统进程) 中的某些进程一旦被杀死就自动重生。


回答 7:

我解决了/Library/LaunchDaemons/com.mysql. mysql.plist 文件的编辑,将属性 true 更改为 false


<!--?xml version="1.0" encoding="UTF-8"?-->


<plist version="1.0">


 <dict>


 <key>KeepAlive</key>


 <false/>


 <key>Label</key>


 <string>com.mysql.mysqld</string>


 <key>ProgramArguments</key>


 <array>


 <string>/usr/local/mysql/bin/mysqld_safe</string>


 <string>--user=mysql</string>


 </array>


 </dict>


</plist>




回答 8:

在你的机器上有一个正在阻塞mysql的进程。 运行

ps auxwww | grep mysql

然后做

kill -15 {PID}

我阻止它的进程是 _mysql


讨论
Tony profile image