]> git.saurik.com Git - apple/launchd.git/blob - man/launchd.8
launchd-442.21.tar.gz
[apple/launchd.git] / man / 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 ,