Hri*_*sto 38 terminal services kill launchd macos
当我sudo kill -9 [PID]使用正确的进程 ID运行时,该进程停止但随后重新启动并具有新的 PID。我正在尝试终止该mysqld进程。
如何在终止进程时模仿活动监视器?在活动监视器中,当您按“退出进程”时,进程将永久停止运行,完全终止。我想这kill会做同样的事情吗?
我让活动监视器和终端彼此相邻,以查看命令是否有效,但每次我这样做时sudo kill -9 [PID],活动监视器中的进程都不会消失,它只是用新的 PID 刷新。
那么......我如何mysqld通过终端终止进程?
小智 25
您正在杀死的进程可能由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
Run Code Online (Sandbox Code Playgroud)
小智 17
有几条评论提到“可能涉及launchd” - 所以我想我会把它作为一个额外的答案。正如@jarrod-roberson 所说,您可以通过首先运行launchctl list | grep mysqld.
您在这里学到的一件重要事情是 MySQL 是否与 Homebrew 一起安装 - Brew 将其launchctl文件存储在与 OSX 放置“常规”服务的位置不同的位置。
在我的 OSX 机器上,plist文件在~/Library/LaunchAgents/所以我跑了:
launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Run Code Online (Sandbox Code Playgroud)
停止 MySQL 服务器。我以前查看过/Library/LaunchDaemons/,/Library/LaunchAgents但没有找到mysqld名称中的文件。
您还可以安装一个名为 的基于 brew 的系统services来管理所有 Brew 安装的服务应用程序,如本文所述 - http://robots.thoughtbot.com/starting-and-stopping-background-services-with-homebrew I不过,我自己还没有尝试过,所以 YMMV。
Hri*_*sto 13
我试图通过向它发送TERM信号来终止该进程,并且奏效了。命令是:
sudo kill -15 {PID}
Run Code Online (Sandbox Code Playgroud)
小智 13
对我来说,一旦我弄清楚我在寻找哪个标签,这就会奏效。
launchctl list | egrep {DESIRED_LABEL}
launchctl remove {DESIRED_LABEL}
Run Code Online (Sandbox Code Playgroud)
小智 7
卸载服务并停止守护进程:
sudo launchctl unload -w /Library/LaunchDaemons/com.mysql.mysql.plist
Run Code Online (Sandbox Code Playgroud)
加载服务并启动守护进程:
sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysql.plist
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
121272 次 |
| 最近记录: |