根据Launchd Tutorial,守护进程有两个地方。
- 一个全球守护进程位于
/Library/LaunchDaemons
- 系统守护程序位于
/System/Library/LaunchDaemons
他们之间有什么区别?两者似乎都做同样的任务,代表在启动时运行一个程序root
。
编辑:
差异,我的意思是功能上的差异。我知道系统守护进程来自苹果,而全球来自供应商,但我想知道功能是否存在差异。
根据Launchd Tutorial,守护进程有两个地方。
/Library/LaunchDaemons
/System/Library/LaunchDaemons
他们之间有什么区别?两者似乎都做同样的任务,代表在启动时运行一个程序root
。
编辑:
差异,我的意思是功能上的差异。我知道系统守护进程来自苹果,而全球来自供应商,但我想知道功能是否存在差异。
Answers:
一旦运行,位置之间没有区别。launchd作业的来源决定了管理作业所需的授权。
两者/Library
和/System
launchd作业都可以像任何用户一样运行。每用户作业仅限于其所有者的用户和组。
系统完整性保护/System
限制了对launchd作业的编辑。
来自man 5 launchd.plist
:
~/Library/LaunchAgents
用户提供的每用户代理。/Library/LaunchAgents
管理员提供的每用户代理。/Library/LaunchDaemons
管理员提供的系统范围守护程序。/System/Library/LaunchAgents
OS X提供的每用户代理。/System/Library/LaunchDaemons
OS X提供的系统范围守护程序。