<refnamediv>
<refname>systemctl</refname>
- <refpurpose>Control the systemd system and session manager</refpurpose>
+ <refpurpose>Control the systemd system and service manager</refpurpose>
</refnamediv>
<refsynopsisdiv>
<para><command>systemctl</command> may be used to
introspect and control the state of the
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
- system and session manager.</para>
+ system and service manager.</para>
</refsect1>
<refsect1>
text and exits.</para></listitem>
</varlistentry>
+ <varlistentry>
+ <term><option>--version</option></term>
+
+ <listitem><para>Prints a short version
+ string and exits.</para></listitem>
+ </varlistentry>
+
<varlistentry>
<term><option>--type=</option></term>
<term><option>-t</option></term>
they are set or not.</para></listitem>
</varlistentry>
+ <varlistentry>
+ <term><option>--failed</option></term>
+
+ <listitem><para>When listing units,
+ show only failed units. Do not confuse
+ with
+ <option>--fail</option>.</para></listitem>
+ </varlistentry>
+
<varlistentry>
<term><option>--full</option></term>
<listitem><para>Do not ellipsize unit
- names in the output of
+ names and truncate unit descriptions
+ in the output of
<command>list-units</command> and
<command>list-jobs</command>.</para></listitem>
</varlistentry>
unfinished job, fail the command. If
this is not specified the requested
operation will replace the pending job,
- if necessary.</para></listitem>
+ if necessary. Do not confuse
+ with
+ <option>--failed</option>.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--ignore-dependencies</option></term>
+
+ <listitem><para>When enqueuing a new
+ job ignore all its dependencies and
+ execute it immediately. If passed no
+ required units of the unit passed will
+ be pulled in, and no ordering
+ dependencies will be honoured. This is
+ mostly a debugging and rescue tool for
+ the administrator and should not be
+ used by
+ applications.</para></listitem>
</varlistentry>
<varlistentry>
<listitem><para>Suppress output to
STDOUT in
<command>snapshot</command>,
- <command>check</command>,
+ <command>is-active</command>,
<command>enable</command> and
<command>disable</command>.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--no-block</option></term>
- <listitem><para>Do not synchronously wait for
- the requested operation to finish. If this is
- not specified the job will be verified,
- enqueued and <command>systemctl</command> will
- wait until it is completed. By passing this
- argument it is only verified and
- enqueued.</para></listitem> </varlistentry>
+ <listitem><para>Do not synchronously wait for
+ the requested operation to finish. If this is
+ not specified the job will be verified,
+ enqueued and <command>systemctl</command> will
+ wait until it is completed. By passing this
+ argument it is only verified and
+ enqueued.</para></listitem> </varlistentry>
+
+ <varlistentry>
+ <term><option>--no-pager</option></term>
+
+ <listitem><para>Do not pipe output into a
+ pager.</para></listitem>
+ </varlistentry>
<varlistentry>
<term><option>--system</option></term>
</varlistentry>
<varlistentry>
- <term><option>--session</option></term>
+ <term><option>--user</option></term>
<listitem><para>Talk to the systemd
- session manager of the calling user.</para></listitem>
+ manager of the calling user.</para></listitem>
</varlistentry>
<varlistentry>
<listitem><para>When used with
<command>enable</command> and
<command>disable</command>, operate on the
- global session configuĊation
+ global user configuration
directory, thus enabling or disabling
a unit file globally for all future
- sessions of all users.</para></listitem>
+ logins of all users.</para></listitem>
</varlistentry>
<varlistentry>
changes.</para></listitem>
</varlistentry>
+ <varlistentry>
+ <term><option>--no-ask-password</option></term>
+
+ <listitem><para>When used with
+ <command>start</command> and related
+ commands, disables asking for
+ passwords. Background services may
+ require input of a password or
+ passphrase string, for example to
+ unlock system hard disks or
+ cryptographic certificates. Unless
+ this option is specified and the
+ command is invoked from a terminal
+ <command>systemctl</command> will
+ query the user on the terminal for the
+ necessary secrets. Use this option to
+ switch this behavior off. In this
+ case the password must be supplied by
+ some other means (for example
+ graphical password agents) or the
+ service might fail.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--kill-mode=</option></term>
+
+ <listitem><para>When used with
+ <command>kill</command>, choose the
+ mode how to kill the selected
+ processes. Must be one of
+ <option>control-group</option>,
+ <option>process-group</option> or
+ <option>process</option> to select
+ whether to kill the entire control
+ group, the process group or only the
+ selected process itself. If omitted
+ defaults to
+ <option>control-group</option> if
+ <option>--kill-who=all</option> is
+ set, or <option>process</option>
+ otherwise. You probably never need to
+ use this switch.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--kill-who=</option></term>
+
+ <listitem><para>When used with
+ <command>kill</command>, choose which
+ processes to kill. Must be one of
+ <option>main</option>,
+ <option>control</option> or
+ <option>all</option> to select whether
+ to kill only the main process of the
+ unit, the control process or all
+ processes of the unit. If omitted
+ defaults to
+ <option>all</option>.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--signal=</option></term>
+ <term><option>-s</option></term>
+
+ <listitem><para>When used with
+ <command>kill</command>, choose which
+ signal to send to selected
+ processes. Must be one of the well
+ known signal specifiers such as
+ SIGTERM, SIGINT or SIGSTOP. If
+ omitted defaults to
+ <option>SIGTERM</option>.</para></listitem>
+ </varlistentry>
+
<varlistentry>
<term><option>--force</option></term>
+ <term><option>-f</option></term>
<listitem><para>When used with
<command>enable</command>, override any
existing conflicting
symlinks.</para></listitem>
+
+ <listitem><para>When used with
+ <command>halt</command>,
+ <command>poweroff</command>,
+ <command>reboot</command> or
+ <command>kexec</command> execute
+ selected operation without shutting
+ down all units. However, all processes
+ will be killed forcibly and all file
+ systems are unmounted or remounted
+ read-only. This is hence a drastic but
+ relatively safe option to request an
+ immediate reboot.</para></listitem>
</varlistentry>
<varlistentry>
file that shall be
disabled.</para></listitem>
</varlistentry>
+
+ <varlistentry>
+ <term><option>-H</option></term>
+ <term><option>--host</option></term>
+
+ <listitem><para>Execute operation
+ remotely. Specifiy a hostname, or
+ username and hostname seperated by @,
+ to connect to. This will use SSH to
+ talk to the remote systemd
+ instance.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>-P</option></term>
+ <term><option>--privileged</option></term>
+
+ <listitem><para>Acquire privileges via
+ PolicyKit before executing the
+ operation.</para></listitem>
+ </varlistentry>
</variablelist>
<para>The following commands are understood:</para>
units specified on the command
line. If the units are not running yet
the operation will
- fail.</para></listitem>
+ fail. Note that for compatibility
+ with Red Hat init scripts
+ <command>condrestart</command> is
+ equivalent to this command.</para></listitem>
</varlistentry>
<varlistentry>
<term><command>reload-or-restart [NAME...]</command></term>
+
+ <listitem><para>Reload one or more
+ units if they support it. If not,
+ restart them instead. If the units
+ are not running yet they will be
+ started.</para></listitem>
+ </varlistentry>
+ <varlistentry>
<term><command>reload-or-try-restart [NAME...]</command></term>
<listitem><para>Reload one or more
units if they support it. If not,
- restart them instead. Note that for
- compatibility with SysV and Red Hat
- init scripts
- <command>force-reload</command> and
- <command>condrestart</command> may be
- used as equivalent commands to
- <command>reload-or-try-restart</command>.</para></listitem>
+ restart them instead. If the units
+ are not running yet the operation
+ will fail. Note that for
+ compatibility with SysV init scripts
+ <command>force-reload</command> is
+ equivalent to this command.</para></listitem>
</varlistentry>
<varlistentry>
<term><command>isolate [NAME]</command></term>
<listitem><para>Start the unit
specified on the command line and its
- dependencies and stop all others. Note
- that this works only on units where
- <option>AllowIsolate=</option> is
+ dependencies and stop all others.</para>
+
+ <para>This is similar to changing the
+ runlevel in a traditional init system. The
+ <command>isolate</command> command will
+ immediately stop processes that are not
+ enabled in the new unit, possibly including
+ the graphical environment or terminal you
+ are currently using.</para>
+
+ <para>Note that this works only on units
+ where <option>AllowIsolate=</option> is
enabled. See
<citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
for details.</para></listitem>
</varlistentry>
+ <varlistentry>
+ <term><command>kill [NAME...]</command></term>
+
+ <listitem><para>Send a signal to one
+ or more processes of the unit. Use
+ <option>--kill-who=</option> to select
+ which process to kill. Use
+ <option>--kill-mode=</option> to
+ select the kill mode and
+ <option>--signal=</option> to select
+ the signal to send.</para></listitem>
+ </varlistentry>
<varlistentry>
<term><command>is-active [NAME...]</command></term>
<listitem><para>Check whether any of
- the specified units is active
+ the specified units are active
(i.e. running). Returns an exit code
0 if at least one is active, non-zero
otherwise. Unless
does not have the effect that any of
the units enabled are also started at
the same time. If this is desired a
- seperate <command>start</command>
+ separate <command>start</command>
command must be invoked for the
unit.</para>
administrator is free to make
additional changes manually, by
placing or removing symlinks in the
- directory. This is particular useful
+ directory. This is particularly useful
to create configurations that deviate
from the suggested default
installation. In this case the
<para>Depending on whether
<option>--system</option>,
- <option>--session</option> or
+ <option>--user</option> or
<option>--global</option> is specified
this enables the unit for the system,
- for sessions of the calling user only
- or for all future session of all
+ for the calling user only
+ or for all future logins of all
users. Note that in the latter case no
systemd daemon configuration is
reloaded.</para>
<option>--quiet</option>.</para>
</listitem>
- <para>This command honours
+ <para>This command honors
<option>--system</option>,
- <option>--session</option>,
+ <option>--user</option>,
<option>--global</option> in a similar
way as
<command>enable</command>.</para>
<listitem><para>Cancel one or more
jobs specified on the command line by
their numeric job
- IDs. If not job id is specified cancels all jobs that are pending.</para></listitem>
+ IDs. If no job id is specified, cancel all pending jobs.</para></listitem>
</varlistentry>
<varlistentry>
<term><command>monitor</command></term>
<para>A snapshot refers to a saved
state of the systemd manager. It is
- implemented itself as unit that is
+ implemented itself as a unit that is
generated dynamically with this
command and has dependencies on all
units active at the time. At a later
configuration will stay
accessible.</para></listitem>
</varlistentry>
- <varlistentry>
- <term><command>daemon-exit</command></term>
-
- <listitem><para>Ask the systemd
- manager to quit. This is only
- supported for session managers
- (i.e. in conjunction with the
- <option>--session</option> option) and
- will fail otherwise.</para></listitem>
- </varlistentry>
<varlistentry>
<term><command>show-environment</command></term>
is only removed if it has the
specified value.</para></listitem>
</varlistentry>
+ <varlistentry>
+ <term><command>default</command></term>
+ <listitem><para>Enter default
+ mode. This is mostly equivalent to
+ <command>start
+ default.target</command>.</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>rescue</command></term>
+
+ <listitem><para>Enter rescue
+ mode. This is mostly equivalent to
+ <command>isolate
+ rescue.target</command> but also
+ prints a wall message to all
+ users.</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><command>emergency</command></term>
+
+ <listitem><para>Enter emergency
+ mode. This is mostly equivalent to
+ <command>isolate
+ emergency.target</command> but also
+ prints a wall message to all
+ users.</para></listitem>
+ </varlistentry>
<varlistentry>
<term><command>halt</command></term>
system. This is mostly equivalent to
<command>start halt.target</command>
but also prints a wall message to all
- users.</para></listitem>
+ users. If
+ combined with <option>--force</option>
+ shutdown of all running services is
+ skipped, however all processes are killed
+ and all file systems are unmounted or
+ mounted read-only, immediately
+ followed by the
+ system halt.</para></listitem>
</varlistentry>
<varlistentry>
<term><command>poweroff</command></term>
equivalent to <command>start
poweroff.target</command> but also
prints a wall message to all
- users.</para></listitem>
+ users. If
+ combined with <option>--force</option>
+ shutdown of all running services is
+ skipped, however all processes are killed
+ and all file systems are unmounted or
+ mounted read-only, immediately
+ followed by the
+ powering off.</para></listitem>
</varlistentry>
<varlistentry>
<term><command>reboot</command></term>
equivalent to <command>start
reboot.target</command> but also
prints a wall message to all
- users.</para></listitem>
+ users. If
+ combined with <option>--force</option>
+ shutdown of all running services is
+ skipped, however all processes are killed
+ and all file systems are unmounted or
+ mounted read-only, immediately
+ followed by the
+ reboot.</para></listitem>
</varlistentry>
<varlistentry>
- <term><command>default</command></term>
+ <term><command>kexec</command></term>
- <listitem><para>Enter default
- mode. This is mostly equivalent to
- <command>start
- default.target</command>.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><command>rescue</command></term>
-
- <listitem><para>Enter rescue
- mode. This is mostly equivalent to
- <command>isolate
- rescue.target</command> but also
- prints a wall message to all
- users.</para></listitem>
+ <listitem><para>Shut down and reboot
+ the system via kexec. This is mostly
+ equivalent to <command>start
+ kexec.target</command> but also prints
+ a wall message to all users. If
+ combined with <option>--force</option>
+ shutdown of all running services is
+ skipped, however all processes are killed
+ and all file systems are unmounted or
+ mounted read-only, immediately
+ followed by the
+ reboot.</para></listitem>
</varlistentry>
<varlistentry>
- <term><command>emergency</command></term>
+ <term><command>exit</command></term>
- <listitem><para>Enter emergency
- mode. This is mostly equivalent to
- <command>isolate
- emergency.target</command> but also
- prints a wall message to all
- users.</para></listitem>
+ <listitem><para>Ask the systemd
+ manager to quit. This is only
+ supported for user service managers
+ (i.e. in conjunction with the
+ <option>--user</option> option) and
+ will fail otherwise.</para></listitem>
</varlistentry>
</variablelist>