Launchd is designed to start System and Users daemon/agents located in the following places:
~/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 Mac OS X
/System/Library/LaunchDaemons
- System wide daemons provided by MAC OS X
How to list all launchd services:
launchctl list
Example with grepping out the apple ones:
mini:~ root# launchctl list | grep -v com.apple PID Status Label - 0 org.calendarserver.agent 25553 0 org.postfix.master.passive - 0 org.calendarserver.archive - 0 org.cups.cupsd - 0 com.bresink.system.privilegedhelper-tts - 0 org.postfix.newaliases - 0 com.openssh.sshd - 0 ro.gz.vms 259 0 com.vix.cron 25428 0 com.openssh.sshd 129 0 ro.gz.bs 257 0 org.ntp.ntpd - 0 org.calendarserver.relocate
How to get details about one service:
mini:~ root# launchctl list ro.gz.bs { "StandardOutPath" = "/tmp/boot-shutdown.log"; "LimitLoadToSessionType" = "System"; "StandardErrorPath" = "/tmp/boot-shutdown.err"; "Label" = "ro.gz.bs"; "TimeOut" = 30; "OnDemand" = true; "LastExitStatus" = 0; "PID" = 129; "Program" = "/etc/boot-shutdown.sh"; "ProgramArguments" = ( "/etc/boot-shutdown.sh"; ); };
How to remove a launchd service:
osx$ sudo launchctl remove /Library/LaunchDaemons/com.plex.plexconnect.bash.plist
How to stop launchd services from command line:
osx$ sudo launchctl stop /Library/LaunchDaemons/com.plex.plexconnect.bash.plist
How to start launchd services from command line:
osx$ sudo launchctl start /Library/LaunchDaemons/com.plex.plexconnect.bash.plist
How to disable service at startup:
osx$ sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.softwareupdated.plist