Execution Order of Startup Item Bundles

SystemStarter determines the order of execution for startup item bundles by analyzing the StartupParameters.plist property list in each bundle. Other than the ordering rules described in the Requires and Uses attributes and OrderPreference attribute sections, there are no guarantees about the startup order of bundles. When two bundles are equally prioritized, there is no rule for which starts first. Additionally, since bundles may be launched in parallel, the order of equally prioritized items is likely to differ across startups. Therefore it is essential to properly document requirements in the StartupParameters.plist property list.

When stopping bundles, SystemStarter executes bundles in the reverse order described above. Services are not sent a stop message until all bundles that require and use the service have stopped.

When restarting bundles, SystemStarter sends restart to bundles individually. Dependencies are ignored.