我正在开发一个应用程序,它将定期为用户从远程服务器下载文件。我想知道我是否应该用 OS X 的说法使用守护进程(即只要 OS X 启动它就会运行)或用户代理(即只要特定用户登录它就会运行)。有约定吗?思考这个问题时有什么规则可以遵守吗?我当然不希望降压约定最终让我的应用程序执行用户不希望它执行的操作。
此外,对于此类后台进程,似乎可能有一个约定让应用程序显示在状态栏上。例如,我的机器上的 Google Drive 和 Mozy 都在后台监视更改并上传,两者都显示在状态栏中。这是我应该对我的应用程序执行的操作吗?
绝对有一个约定,adaemon通常以 root 或特殊用户(mysql, www)身份运行,而 Agent 以用户身份运行...
它们的寿命等并不重要,因为 a 可以像、等daemon那样长时间运行,也可以及时启动以供使用,如在辅助工具中。httpdftpd
从man launchd:
在 launchd 词典中,根据定义,“守护进程”是一种系统范围的服务,所有客户端都有一个实例。“代理”是基于每个用户运行的服务。守护程序不应尝试显示 UI 或直接与用户的登录会话交互。任何涉及与用户交互的工作都应该通过代理完成。
因此,您可以与某种备份守护程序混合使用,IPC因为备份守护程序可能会向状态栏应用程序发送消息,该应用程序作为用户的代理运行。
| 归档时间: |
|
| 查看次数: |
2309 次 |
| 最近记录: |