我有一个启动守护程序,需要在OSX上的用户会话中产生一个托盘图标。我目前的问题是:有没有一种方法可以在用户登录或注销时获取事件?类似于在linux上使用logind或consolekit。
发布于 2017-05-23 21:22:50
您需要的工具是LaunchAgent。LaunchAgents在用户登录时自动启动,在注销时关闭。如果您也有LaunchDaemon,则可以使用LaunchAgent从用户上下文与其通信。有关完整的详细信息以及如何设置,请参阅Creating Launch Daemons and Agents。请确保也查看XPC服务(在同一个文档中),以了解进程之间通信的一种方式。您也可以使用环回网络,但XPC功能更强大,并且在适当的情况下更受欢迎。
如果你正在构建这样的东西,你肯定想要阅读整个Daemons and Services Programming Guide和TN2083: Daemons and Agents。这篇技术笔记可能是你针对这类问题所阅读的最重要的文档。在这一点上,OS X与Linux (或BSD)不同。
https://stackoverflow.com/questions/44135749
复制相似问题