Ever been confused by the difference between OSX’s launch daemons, launch agents, startup items and login items? Hopefully this post will help clear it up.
launchd is the first non-kernel process to start when OSX is booted and is located at
/sbin/launchd. It runs as root and is given the process id of 1. It is the first parent process that spawns all child processes.
It initially launches all other essential system processes, and leaves others to be started on-demand. In theory this keeps the OS running efficiently.
Launch Daemons & Startup Items
Launch Daemons and Startup Items are launched during system boot up and affect the whole system.
System processes are described by
launchd preference files located in:
Third party processes are described by preference files located in:
launchd also runs
SystemStarter during boot, which loads legacy third-party OSX startup items described in:
Launch Agents & Login Items
Launch Agents and Login Items are launched once a user is logged in and effect only that user.
Launch Agents are usually loaded when the user logs in. Those provided by the system are found in:
Third-party launch agents are found in any of:
/System/Library/LaunchAgents /Library/LaunchAgents ~/Library/LaunchAgents
Login Items are started at the very end of the user’s login and can be found in: