杀死未知的启动守护进程

时间:2017-06-22 04:44:03

标签: macos daemon

我正在调试一个启动守护程序,并以某种方式创建了一个我既不能杀死也不能找到关联的Label。我知道它的运行是因为它附加在一个'#hello world"每10秒发一次文件。调试这个有什么选择?有没有办法退出运行shell脚本的进程?

我试过了:

  • launchctl unload我编辑的所有.plists仍然存在
  • launchctl list | grep我创建的所有标签(我认为!!)
  • 重新启动系统

我已经尝试了here和其他地方发布的所有建议。

参考页here

1 个答案:

答案 0 :(得分:0)

守护程序行为/可见性与所有者相关联。对于系统守护程序,首选语法(截至2017年)为:

  • 任何.plist文件应由/Library/LaunchDaemons中的root拥有,否则可能无法正确加载。
  • 守护程序以sudo launchctl load my_daemon.plist开头(以root身份)仅使用命令sudo launchctl list;同样
  • 使用launchctl load my_daemon.plist启动(作为用户)的守护程序仅使用命令sudo launchctl list

如果在过去的任何时间使用load标志调用了-w,守护程序将被持久加载,即使在重新启动后也是如此,并且需要-w来卸载它:< / p>

  • sudo launchctl load -w my_daemon.plist加载守护程序,
  • sudo launchctl unload -w my_daemon.plist

在问题的情况下,守护程序可能会使用sudo和/或-w的某种组合启动,然后查询/&#34;停止&#34;不