What are the various auto launch paths mean in OSX?
Question
I'm trying to track down sneaky apps that launch upon reboot. They are not in System Preferences > Users and Groups > Login items
and the in-app preferences for auto starting is disabled too for them. I did find them here:
~/Library/LaunchAgents
/Library/LaunchAgents
/Library/LaunchDaemons
/System/Library/LaunchAgents
/System/Library/LaunchDaemons
What do each folder mean? Does removing the file from here simply mean the OS is won't find it on startup?
Solution
This is described in the launchd
man page:
~/Library/LaunchAgents Per-user agents provided by the user. /Library/LaunchAgents Per-user agents provided by the administrator. /Library/LaunchDaemons System-wide daemons provided by the administrator. /System/Library/LaunchAgents Per-user agents provided by Apple. /System/Library/LaunchDaemons System-wide daemons provided by Apple.
If you want to remove something from starting, unload it using the launchctl
utility:
$ [sudo] launchctl unload foo.bar.plist
If there's a "sneeky app" that persists across reboot, it would most likely be in the first three; the last two are "Apple only."
OTHER TIPS
The items in the /LaunchAgents and /LaunchDaemon folders are launchd property list files that configure those background tasks. Files in the local and user Library folders would be for items that have been installed for all users or a particular user, respectively, while those in the System folder are, well, part of the system, and really shouldn’t be messed with. Usually you would use launchctl to load or unload daemons and agents.