OS X - 启动守护程序和启动代理之间的通信

时间:2012-08-08 15:33:34

标签: macos cocoa cfsocket launch-daemon launchdagent

我是OS X的新手,必须创建一个包含2个部分的应用程序 - 启动守护程序和启动代理程序。守护进程将执行诸如命令执行,日志记录等操作,并且必须以某种方式将这些结果传递给启动代理(它将它们转移到显示GUI的登录项,尽管这是未来的步骤)。

我的问题: 我如何实现这种沟通?从阅读Apple文档到目前为止我能够收集到的内容来看,我最好的选择是使用CFSockets。有没有替代(更简单)的方式?有没有人有任何示例教程/示例/代码,说明如何使用CFSockets(我找不到)?

PS:我的问题可能与this one重复,但该问题尚未得到解答,所以我想发布这个问题。

1 个答案:

答案 0 :(得分:2)

我能够使用CFSockets在我的守护进程和代理之间建立通信,并且它没有我之前想象的那么糟糕。我按照以下步骤说明: https://developer.apple.com/library/mac/#documentation/NetworkingInternet/Conceptual/NetworkingTopics/Articles/UsingSocketsandSocketStreams.html(编写基于TCP的服务器)。

你也可以尝试使用普通的BSD套接字。有一个简单的例子:http://www.minek.com/files/unix_examples/poll.html(虽然我没有试过这个)。

祝你好运。