OS X Lion/Mountain Lion 中启动项是按照什么顺序处理的?

OS X Lion/Mountain Lion 中启动项是按照什么顺序处理的?

我想知道在 OS X (Mountain) Lion 中从启动文件夹启动服务和应用程序的顺序,例如:

/Library/LaunchAgents
/Library/LaunchDaemons
/System/Library/LaunchAgents
/System/Library/LaunchDaemons
~/Library/LaunchAgent
/Library/StartupItems
/System/Library/StartupItems

答案1

/System/Library/LaunchDaemons/Library/LaunchDaemons/Library/StartupItems都在系统启动时处理。 LaunchDaemons 文件夹没有特定的顺序——其中的所有内容都可以同时运行,只有带有 的文件夹才<key>RunAtLoad</key><true/>真正可以立即启动。 launchd 的执行方式是将它们全部启动,然后让它们自行解决依赖关系。

StartupItems(如果有)定义了它们自己的顺序。每个 StartupItem 都是一个文件夹,其中包含要运行的脚本和一个StartupParameters.plist文件,该文件(除其他内容外)可以定义 StartupItem 提供的内容和需要的内容;它们将按顺序排列,以便提供特定功能的项目在需要该功能的项目之前运行。

我希望 StartupItems 在 RunAtLoad LaunchDaemons 之后运行,但我认为这并没有在任何地方指定,而且我不会依赖它。

三个 LaunchAgent 文件夹中的项目均在用户登录时加载(即系统启动后某个时间)。与 LaunchDaemons 一样,没有特定的顺序,它们都可同时运行。

/System/Library/StartupItems最后, OS X Lion 中没有文件夹。

相关内容