]> git.saurik.com Git - apple/launchd.git/blobdiff - launchd/src/launchctl.1
launchd-152.tar.gz
[apple/launchd.git] / launchd / src / launchctl.1
index 8a45e8520daaaae8f5cf61c7e2228d0a3b65c76d..46455253adb79f04ad2992e96e6e76e3f18d214c 100644 (file)
@@ -25,27 +25,70 @@ starts.
 .Sh SUBCOMMANDS
 .Bl -tag -width -indent
 .It Xo Ar load Op Fl wF
+.Op Fl S Ar sessiontype
+.Op Fl D Ar domain
 .Ar paths ...
 .Xc
 Load the specified configuration files or directories of configuration files.
+Jobs that are not on-demand will be started as soon as possible.
+All specified jobs will be loaded before any of them are allowed to start.
 .Bl -tag -width -indent
 .It Fl w
 Remove the disabled key and write the configuration files back out to disk.
 .It Fl F
 Force the loading of the plist. Ignore the Disabled key.
+.It Fl S Ar sessiontype
+Some jobs only make sense in certain contexts. This flag instructs
+.Nm launchctl
+to look for jobs in a different location when using the -D flag, and allows
+.Nm launchctl
+to restrict which jobs are loaded into which session types. Currently known
+session types include: Aqua, X11 and tty.
+.It Fl D Ar domain
+Look for
+.Xr plist 5 files ending in *.plist in the domain given. Valid domains include
+"system," "local," "network" and "all." When providing a session type, an additional
+domain is available for use called "user." For example, without a session type given,
+"-D system" would load from property list files from /System/Library/LaunchDaemons.
+With a session type passed, it would load from /System/Library/LaunchAgents.
 .El
 .It Xo Ar unload Op Fl w
 .Ar paths ...
 .Xc
 Unload the specified configuration files or directories of configuration files.
+This will also stop the job if it is running.
 .Bl -tag -width -indent
 .It Fl w
 Add the disabled key and write the configuration files back out to disk.
 .El
-.It Ar start Ar joblabels ...
-Start the specified jobs by label.
-.It Ar stop Ar joblabels ...
-Stop the specified jobs by label. Jobs may restart automatically if demand driven.
+.It Xo Ar submit Fl l Ar label
+.Op Fl p Ar executable
+.Op Fl o Ar path
+.Op Fl e Ar path
+.Ar -- command
+.Op Ar args
+.Xc
+A simple way of submitting a program to run without a configuration file. This mechanism also tells launchd to keep the program alive in the event of failure.
+.Bl -tag -width -indent
+.It Fl l Ar label
+What unique label to assign this job to launchd.
+.It Fl p Ar program
+What program to really execute, regardless of what follows the -- in the submit sub-command.
+.It Fl o Ar path
+Where to send the stdout of the program.
+.It Fl e Ar path
+Where to send the stderr of the program.
+.El
+.It Ar remove Ar job_label
+Remove the jobs from launchd by label.
+.It Ar start Ar job_label
+Start the specified jobs by label. The expected use of this subcommand is for
+debugging and testing so that one can manually kick-start an on-demand server.
+.It Ar stop Ar job_label
+Stop the specified jobs by label. If a job is on-demand, launchd may immediately
+restart the job if launchd finds any criteria that is satisfied.
+Non-demand based jobs will always be restarted. Use of this subcommand is discouraged.
+Jobs should ideally idle timeout by themselves.
 .It Ar list
 List all of the jobs loaded into
 .Nm launchd .
@@ -106,6 +149,14 @@ Get or optionally set the
 .Xr umask 2
 of
 .Nm launchd .
+.It Ar bslist Op Ar PID
+This prints out Mach bootstrap services and their respective states. While the
+namespace appears flat, it is in fact hierarchical, thus allowing for certain
+services to be only available to a subset of processes. The three states a
+service can be in are active ("A"), in-active ("I") and on-demand ("D").
+.It Ar bsexec Ar PID command Op Ar args
+This executes the given command in the same Mach bootstrap namespace hierachy
+as the given PID.
 .It Ar help
 Print out a quick usage statement.
 .El