Killall & Pkill 找不到正在运行且属于我的守护进程



我经常发现我的鼠标无法滚动。解决方案是通过活动监视器退出Logi Options Daemon。我想用一个shell脚本来做这件事,这样我就可以指定一个热键,但我不知道如何按名称杀死进程。

➜  ~ killall "Logi Options Daemon"
No matching processes belonging to you were found
➜  ~ sudo killall "Logi Options Daemon"
Password:
No matching processes were found
➜  ~ sudo killall -9 "Logi Options Daemon"
No matching processes were found
➜  ~ pkill -f "Logi Options Daemon"
➜  ~ pgrep -f "Logi Options Daemon"

如果我运行ps | grep "Logi Options Daemon",我每次都会得到不同的PID,但活动监视器中的PID不会改变。将kill与"活动监视器"中的ID一起使用确实会终止进程,但会破坏使用脚本的目的。

我怎样才能让这个过程死掉?

根据Chris Pennington的这篇博客文章,该程序的实际名称是LogiMgrDaemon,所以请尝试:

killall LogiMgrDaemon

您可以在"活动监视器"中找到此名称,方法是选择进程,打开其"信息"窗口(使用Command-I或工具栏中的"I"按钮(,然后在"打开文件和端口"选项卡下查找二进制名称&路径

至于您在运行ps | grep "Logi Options Daemon"时看到的内容,您可能只是看到grep进程本身。注意";grep";在此列出过程:

$ ps | grep "No Such Daemon"
36074 ttys006    0:00.00 grep No Such Daemon

这是ps | grep非常常见的问题,也是pgrep作为一个单独程序存在的全部原因。

相关内容

  • 没有找到相关文章

最新更新