]> git.saurik.com Git - apple/launchd.git/blobdiff - launchd/src/launchd.plist.5
launchd-106.3.tar.gz
[apple/launchd.git] / launchd / src / launchd.plist.5
index 96844de9da1529dafb932a74414e69355e7e0293..e9ab97af9422ee2617e4b34acd4adbddba615685 100644 (file)
@@ -91,6 +91,7 @@ This optional key specifies the user to run the job as. The default is the group
 .It Sy inetdCompatibility <dictionary>
 The presence of this key specifies that the daemon expects to be run as if it were launched from
 .Xr inetd 8 .
+This flag is incompatible with the ServiceIPC key.
 .Bl -ohang -offset indent
 .It Sy Wait <boolean>
 This flag corresponds to the "wait" or "nowait" option of
@@ -126,7 +127,7 @@ before running the job.
 .It Sy ServiceIPC <boolean>
 This optional key specifies whether the job participates in advanced communication with
 .Nm launchd .
-The default is false.
+The default is false. This flag is incompatible with the inetdCompatibility key.
 .It Sy TimeOut <integer>
 The recommended time out to pass to the job. If no value is specified, a default time out will be supplied by
 .Nm launchd
@@ -134,7 +135,7 @@ for use by the job at check in time.
 .It Sy InitGroups <boolean>
 This optional key specifies whether the job should have
 .Xr initgroups 3
-should be called before running the job.
+be called before running the job.
 The default is false.
 .It Sy WatchPaths <array of strings>
 This optional key causes the job to be started if any one of the listed paths are modified.
@@ -142,10 +143,16 @@ This optional key causes the job to be started if any one of the listed paths ar
 Much like the WatchPaths option, this key will watch the paths for modifications. The difference being that the job will only be started if the path is a directory and the directory is not empty.
 .It Sy StartInterval <integer>
 This optional key causes the job to be started every N seconds.
+If the system is asleep, the job will be started the next time the computer
+wakes up.  If multiple intervals transpire before the computer is woken, those
+events will be coalesced into one event upon wake from sleep.
 .It Sy StartCalendarInterval <dictionary of integers>
 This optional key causes the job to be started every calendar interval as specified. Missing arguments are considered to be wildcard. The semantics are much like
-.Xr crontab 5
-.
+.Xr crontab 5 .
+Unlike cron which skips job invocations when the computer is asleep, launchd
+will start the job the next time the computer wakes up.  If multiple intervals
+transpire before the computer is woken, those events will be coalesced into one
+event upon wake from sleep.
 .Bl -ohang -offset indent
 .It Sy Minute <integer>
 The minute on which this job will be run.
@@ -168,7 +175,6 @@ This optional key specifies what file should be used for data being sent to stde
 This optional key specifies that
 .Nm launchd
 should adjust its log mask temporarily to LOG_DEBUG while dealing with this job.
-.Xr stdio 3 .
 .It Sy SoftResourceLimits <dictionary of integers>
 .It Sy HardResourceLimits <dictionary of integers>
 Resource limits to be imposed on the job. These adjust variables set with
@@ -209,11 +215,17 @@ This optional key specifies what
 value should be applied to the daemon.
 .It Sy LowPriorityIO <boolean>
 This optional key specifies whether the kernel should consider this daemon to be low priority when doing file system I/O.
-.It Sy Sockets <dictionary of dictionaries...>
+.It Sy Sockets <dictionary of dictionaries... OR dictionary of array of dictionaries...>
 This optional key is used to specify launch on demand sockets that can be used to let
 .Nm launchd
 know when to run the job. The job can check-in and get a copy of the file descriptors using APIs outlined in
 .Xr launch 3 .
+The keys of the top level Sockets dictionary can be anything. They are meant for the application developer to use to
+differentiate different which descriptors correspond to which application level protocols (e.g. http vs. ftp vs. DNS...).
+At check in time, the value of each Sockets dictionary key will be an array of descriptors. Daemon/Agent writers should
+consider all descriptors of a given key to be to be effectively equivalent, even though each file descriptor likely represents
+a different networking protocol which conforms to the criteria specified in the job configuration file.
+.Pp
 The paramters below are used as inputs to call
 .Xr getaddrinfo 3 .
 .Bl -ohang -offset indent
@@ -256,6 +268,12 @@ to.
 This optional key can be used to request that the service be registered with the
 .Xr mDNSResponder 8 .
 If the value is boolean, the service name is inferred from the SockServiceName.
+.It Sy MulticastGroup <string>
+This optional key can be used to request that the datagram socket join a multicast group.
+If the value is a hostname, then
+.Xr getaddrinfo 3
+will be used to join the correct multicast address for a given socket family.
+If an explicit IPv4 or IPv6 address is given, it is required that the SockFamily family also be set, otherwise the results are undefined.
 .El
 .El
 .Pp