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
