launchd(8)

NAME
launchd - System wide and per-user daemon/agent manager

SYNOPSIS
launchd [-d] [-v] [-s] [-x] [-- command [args ...]]

DESCRIPTION
launchd manages daemons, both for the system as a whole and for individual users. Ideal daemons can launch on demand based on criteria specified in their respective XML property lists located in one of the directories specified in the FILES section.

When run with a command, a specific instance of launchd is created and the command is implicitly added to the list of jobs maintained by launchd. If the command exits, that instance of launchd will clean up all jobs maintained by itself and exit. All children of the command will use that instance of launchd.

During boot launchd is invoked by the kernel to run as the first process on the system and to further bootstrap the rest of the system.

OPTIONS WHEN RUN AS PID 1

-d  Daemonize. Useful when passing a command to launchd on the command line.

-v  Verbose boot.

-s  Single user mode. Instructs launchd to give a shell prompt before booting the system.

-x  Safe mode boot. Instructs the system to boot conservatively.

ENVIRONMENTAL VARIABLES

LAUNCHD_SOCKET
    This variable is exported when invoking a command via the launchd command line. It informs launchctl how to find the correct launchd to talk to.

NOTES
In Darwin it is preferable to have your daemon launch via launchd instead of modifying rc or creating a SystemStarter Startup Item.

At some point in the future, we hope to completely phase out the use of rc.

FILES
~/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
    Mac OS X Per-user agents.
/System/Library/LaunchDaemons
    Mac OS X System wide daemons.

SEE ALSO
launchctl(1), launchd.plist(5), rc(8), SystemStarter(8)