X-Git-Url: https://git.saurik.com/apple/launchd.git/blobdiff_plain/fc89531ea805ae0e7e8a4fae3760a7c53ac21da7..ed34e3c3e5fb80e0702ac7fb92f189862089d820:/launchd/src/launchctl.1 diff --git a/launchd/src/launchctl.1 b/launchd/src/launchctl.1 index 8a45e85..4645525 100644 --- a/launchd/src/launchctl.1 +++ b/launchd/src/launchctl.1 @@ -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