launchd.8
1 .Dd 1 May, 2009 2 .Dt launchd 8 3 .Os Darwin 4 .Sh NAME 5 .Nm launchd 6 .Nd System wide and per-user daemon/agent manager 7 .Sh SYNOPSIS 8 .Nm 9 .Op Fl d 10 .Op Fl D 11 .Op Fl s 12 .Op Fl S Ar SessionType 13 .Op Ar -- command Op Ar args ... 14 .Sh DESCRIPTION 15 .Nm 16 manages processes, both for the system as a whole and for individual users. 17 The primary and preferred interface to 18 .Nm 19 is via the 20 .Xr launchctl 1 21 tool which (among other options) allows the user or administrator to load and unload jobs. 22 Where possible, it is preferable for jobs to launch on demand based on criteria specified 23 in their respective configuration files. 24 .Pp 25 During boot 26 .Nm 27 is invoked by the kernel to run as the first process on the system and to further bootstrap the rest of the system. 28 .Pp 29 You cannot invoke 30 .Nm 31 directly. 32 .Sh ENVIRONMENTAL VARIABLES 33 .Bl -tag -width -indent 34 .It Pa LAUNCHD_SOCKET 35 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. 36 .El 37 .Sh NOTES 38 In Darwin, the canonical way to launch a daemon is through 39 .Nm launchd 40 as opposed to more traditional mechanisms or mechanisms provided in earlier versions of Mac OS X. These alternate methods should 41 be considered deprecated and not suitable for new projects. 42 .Pp 43 In the 44 .Nm launchd 45 lexicon, a "daemon" is, by definition, a system-wide service of which there is one instance for all clients. An "agent" is a service that runs on 46 a per-user basis. Daemons should not attempt to display UI or interact directly with a user's login session. Any and all work that involves interacting 47 with a user should be done through agents. 48 .Pp 49 If you wish your service to run as a certain user, in that user's environment, making it a 50 .Nm launchd 51 agent is the ONLY supported means of accomplishing this on Mac OS X. In other words, it is not sufficient to perform a 52 .Xr setuid 2 53 to become a user in the truest sense on Mac OS X. 54 .Sh FILES 55 .Bl -tag -width "/System/Library/LaunchDaemons" -compact 56 .It Pa ~/Library/LaunchAgents 57 Per-user agents provided by the user. 58 .It Pa /Library/LaunchAgents 59 Per-user agents provided by the administrator. 60 .It Pa /Library/LaunchDaemons 61 System-wide daemons provided by the administrator. 62 .It Pa /System/Library/LaunchAgents 63 Per-user agents provided by Mac OS X. 64 .It Pa /System/Library/LaunchDaemons 65 System-wide daemons provided by Mac OS X. 66 .El 67 .Sh SEE ALSO 68 .Xr launchctl 1 , 69 .Xr launchd.plist 5 ,