有没有一种方法可以监控launchD本身,例如,作业是否正在从启动的守护进程/代理列表中加载或卸载?例如,当launchD守护进程加载或卸载新的plist时,是否可以注册任何管理应用程序以接收事件,例如通过触发以下命令:launchctl load/unload /Library/LaunchDaemons(or launchAgents)/test.plist?
轮询是一种选择,但是有没有资源高效的方法呢?
任何帮助都是值得欣赏的。
发布于 2015-07-15 21:07:30
我不确定这是否就是你想要的,但是在OSX上有一个非常强大的工具叫做dtrace。你可以使用它来查看系统上发生的各种事情,并根据你的意愿过滤它们,例如syscall。
对于你的特定场景,我甚至会看看dtruss,这是一个更容易使用的工具,它使用dtrace来给你提供信息:https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/dtruss.1m.html每次调用launchctl时,从dtruss获得一个‘提示’应该是相当简单的,但我不确定你想从调用中获得什么信息。
dtrace有一整本关于如何使用它和为它写签名的书。如果你不能从dtruss得到你需要的一切,你可以更深入地研究一下。
另外,这两个都不是命令行工具,如果你正在寻找一些编程工具,你会有更多的工作要做。
https://stackoverflow.com/questions/31351682
复制相似问题