chiark / gitweb /
systemctl add command list-dependencies
[elogind.git] / man / systemctl.xml
index c45b11a51059ca911fd5f785cc5acb1435a26474..f22338371635d170530ba703c43f0805903401ff 100644 (file)
@@ -8,16 +8,16 @@
   Copyright 2010 Lennart Poettering
 
   systemd is free software; you can redistribute it and/or modify it
   Copyright 2010 Lennart Poettering
 
   systemd is free software; you can redistribute it and/or modify it
-  under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2 of the License, or
+  under the terms of the GNU Lesser General Public License as published by
+  the Free Software Foundation; either version 2.1 of the License, or
   (at your option) any later version.
 
   systemd is distributed in the hope that it will be useful, but
   WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
   (at your option) any later version.
 
   systemd is distributed in the hope that it will be useful, but
   WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  General Public License for more details.
+  Lesser General Public License for more details.
 
 
-  You should have received a copy of the GNU General Public License
+  You should have received a copy of the GNU Lesser General Public License
   along with systemd; If not, see <http://www.gnu.org/licenses/>.
 -->
 
   along with systemd; If not, see <http://www.gnu.org/licenses/>.
 -->
 
                                 <term><option>--type=</option></term>
                                 <term><option>-t</option></term>
 
                                 <term><option>--type=</option></term>
                                 <term><option>-t</option></term>
 
-                                <listitem><para>When listing units,
-                                limit display to certain unit
-                                types. If not specified units of all
-                                types will be shown. The argument
-                                should be a unit type name such as
-                                <option>service</option>,
-                                <option>socket</option> and
-                                similar.</para></listitem>
+                                <listitem><para>The argument should
+                                be a unit type name such as
+                                <option>service</option> and
+                                <option>socket</option>,
+                                or a unit load state such as
+                                <option>loaded</option> and
+                                <option>masked</option>.
+                                </para>
+
+                                <para>If the argument is a unit type,
+                                when listing units, limit display to
+                                certain unit types. If not specified
+                                units of all types will be shown.</para>
+
+                                <para>If the argument is a unit load state,
+                                when listing units, limit display to
+                                certain unit types. If not specified
+                                units of in all load states will be
+                                shown.</para>
+
+                                <para>As a special case, if the argument
+                                is <option>help</option>, a list of
+                                allowed values will be printed and the
+                                program will exit.</para>
+                                </listitem>
                         </varlistentry>
 
                         <varlistentry>
                         </varlistentry>
 
                         <varlistentry>
                                 <term><option>-p</option></term>
 
                                 <listitem><para>When showing
                                 <term><option>-p</option></term>
 
                                 <listitem><para>When showing
-                                unit/job/manager information, limit
+                                unit/job/manager properties, limit
                                 display to certain properties as
                                 specified as argument. If not
                                 specified all set properties are
                                 display to certain properties as
                                 specified as argument. If not
                                 specified all set properties are
                                 <listitem><para>When listing units,
                                 show all units, regardless of their
                                 state, including inactive units. When
                                 <listitem><para>When listing units,
                                 show all units, regardless of their
                                 state, including inactive units. When
-                                showing unit/job/manager information,
+                                showing unit/job/manager properties,
                                 show all properties regardless whether
                                 they are set or not.</para></listitem>
                         </varlistentry>
                                 show all properties regardless whether
                                 they are set or not.</para></listitem>
                         </varlistentry>
                                 <term><option>--full</option></term>
 
                                 <listitem><para>Do not ellipsize unit
                                 <term><option>--full</option></term>
 
                                 <listitem><para>Do not ellipsize unit
-                                names and truncate unit descriptions
+                                names, cgroup members, and truncate unit descriptions
                                 in the output of
                                 <command>list-units</command> and
                                 <command>list-jobs</command>.</para></listitem>
                                 in the output of
                                 <command>list-units</command> and
                                 <command>list-jobs</command>.</para></listitem>
                                 <option>--failed</option>.</para></listitem>
                         </varlistentry>
 
                                 <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 honored. This is
+                                mostly a debugging and rescue tool for
+                                the administrator and should not be
+                                used by
+                                applications.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><option>-i</option></term>
+                                <term><option>--ignore-inhibitors</option></term>
+
+                                <listitem><para>When system shutdown
+                                or a sleep state is requested, ignore
+                                inhibitor locks. Applications can
+                                establish inhibitor locks to avoid
+                                that certain important operations
+                                (such as CD burning or suchlike) are
+                                interrupted by system shutdown or a
+                                sleep state. Any user may take these
+                                locks and privileged users may
+                                override these locks. If any locks are
+                                taken, shutdown and sleep state
+                                requests will normally fail
+                                (regardless if privileged or not) and
+                                list of active locks is
+                                printed. However if
+                                <option>--ignore-inhibitors</option>
+                                is specified the locks are ignored and
+                                not printed, and the operation
+                                attempted anyway, possibly requiring
+                                additional
+                                privileges.</para></listitem>
+                        </varlistentry>
+
                         <varlistentry>
                                 <term><option>--quiet</option></term>
                                 <term><option>-q</option></term>
                         <varlistentry>
                                 <term><option>--quiet</option></term>
                                 <term><option>-q</option></term>
                                 STDOUT in
                                 <command>snapshot</command>,
                                 <command>is-active</command>,
                                 STDOUT in
                                 <command>snapshot</command>,
                                 <command>is-active</command>,
+                                <command>is-failed</command>,
                                 <command>enable</command> and
                                 <command>disable</command>.</para></listitem>
                         </varlistentry>
                                 <command>enable</command> and
                                 <command>disable</command>.</para></listitem>
                         </varlistentry>
                                 enqueued and <command>systemctl</command> will
                                 wait until it is completed. By passing this
                                 argument it is only verified and
                                 enqueued and <command>systemctl</command> will
                                 wait until it is completed. By passing this
                                 argument it is only verified and
-                                enqueued.</para></listitem> </varlistentry>
+                                enqueued.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><option>--no-legend</option></term>
+
+                                <listitem><para>Do not print a legend, i.e.
+                                the column headers and the footer with hints.
+                                </para></listitem>
+                        </varlistentry>
 
                         <varlistentry>
                                 <term><option>--no-pager</option></term>
 
 
                         <varlistentry>
                                 <term><option>--no-pager</option></term>
 
-                               <listitem><para>Do not pipe output into a
-                               pager.</para></listitem>
-                       </varlistentry>
+                                <listitem><para>Do not pipe output into a
+                                pager.</para></listitem>
+                        </varlistentry>
 
                         <varlistentry>
                                 <term><option>--system</option></term>
 
                         <varlistentry>
                                 <term><option>--system</option></term>
                                 <command>systemctl</command> will
                                 query the user on the terminal for the
                                 necessary secrets. Use this option to
                                 <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>
+                                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. This also disables querying the
+                                user for authentication for privileged
+                                operations.</para></listitem>
                         </varlistentry>
 
                         <varlistentry>
                         </varlistentry>
 
                         <varlistentry>
                                 <term><option>-f</option></term>
 
                                 <listitem><para>When used with
                                 <term><option>-f</option></term>
 
                                 <listitem><para>When used with
-                                <command>enable</command>, override any
+                                <command>enable</command>, overwrite any
                                 existing conflicting
                                 symlinks.</para></listitem>
 
                                 existing conflicting
                                 symlinks.</para></listitem>
 
                                 <command>halt</command>,
                                 <command>poweroff</command>,
                                 <command>reboot</command> or
                                 <command>halt</command>,
                                 <command>poweroff</command>,
                                 <command>reboot</command> or
-                                <command>kexec</command> execute
+                                <command>kexec</command> execute the
                                 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
                                 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>
+                                immediate reboot. If
+                                <option>--force</option> is specified
+                                twice for these operations, they will
+                                be executed immediately without
+                                terminating any processes or umounting
+                                any file systems. Warning: specifying
+                                <option>--force</option> twice with
+                                any of these operations might result
+                                in data loss.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><option>--root=</option></term>
+
+                                <listitem><para>When used with
+                                <command>enable</command>/<command>disable</command>/<command>is-enabled</command> (and
+                                related commands), use alternative
+                                root path when looking for unit
+                                files.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><option>--runtime</option></term>
+
+                                <listitem><para>When used with
+                                <command>enable</command>/<command>disable</command>/<command>is-enabled</command> (and related commands), make
+                                changes only temporarily, so that they
+                                are dropped on the next reboot. This
+                                will have the effect that changes are
+                                not made in subdirectories of
+                                <filename>/etc</filename> but in
+                                <filename>/run</filename>, with
+                                identical immediate effects, however,
+                                since the latter is lost on reboot,
+                                the changes are lost
+                                too.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><option>-H</option></term>
+                                <term><option>--host</option></term>
+
+                                <listitem><para>Execute operation
+                                remotely. Specify a hostname, or
+                                username and hostname separated 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>
 
                         <varlistentry>
                         </varlistentry>
 
                         <varlistentry>
-                                <term><option>--defaults</option></term>
+                                <term><option>--lines=</option></term>
+                                <term><option>-n</option></term>
 
                                 <listitem><para>When used with
 
                                 <listitem><para>When used with
-                                <command>disable</command>, ensures
-                                that only the symlinks created by
-                                <command>enable</command> are removed,
-                                not all symlinks pointing to the unit
-                                file that shall be
-                                disabled.</para></listitem>
+                                <command>status</command> controls the
+                                number of journal lines to show,
+                                counting from the most recent
+                                ones. Takes a positive integer
+                                argument. Defaults to
+                                10.</para></listitem>
                         </varlistentry>
                         </varlistentry>
+
+                        <varlistentry>
+                                <term><option>--output=</option></term>
+                                <term><option>-o</option></term>
+
+                                <listitem><para>When used with
+                                <command>status</command> controls the
+                                formatting of the journal entries that
+                                are shown. For the available choices
+                                see
+                                <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>. Defaults
+                                to
+                                <literal>short</literal>.</para></listitem>
+                        </varlistentry>
+
                 </variablelist>
 
                 <para>The following commands are understood:</para>
                 </variablelist>
 
                 <para>The following commands are understood:</para>
 
                                 <listitem><para>Restart one or more
                                 units specified on the command
 
                                 <listitem><para>Restart one or more
                                 units specified on the command
-                                line. If the units are not running yet
-                                the operation will
-                                fail. Note that for compatibility
+                                line if the units are running. Do
+                                nothing if units are not running.
+                                Note that for compatibility
                                 with Red Hat init scripts
                                 <command>condrestart</command> is
                                 equivalent to this command.</para></listitem>
                                 with Red Hat init scripts
                                 <command>condrestart</command> is
                                 equivalent to this command.</para></listitem>
 
                                 <listitem><para>Reload one or more
                                 units if they support it. If not,
 
                                 <listitem><para>Reload one or more
                                 units if they support it. If not,
-                                restart them instead. If the units
-                                are not running yet the operation
-                                will fail. Note that for
-                                compatibility with SysV init scripts
+                                restart them instead. Do nothing if
+                                the units are not running. Note that
+                                for compatibility with SysV init
+                                scripts
                                 <command>force-reload</command> is
                                 <command>force-reload</command> is
-                                equivalent to this command.</para></listitem>
+                                equivalent to this
+                                command.</para></listitem>
                         </varlistentry>
                         <varlistentry>
                                 <term><command>isolate [NAME]</command></term>
                         </varlistentry>
                         <varlistentry>
                                 <term><command>isolate [NAME]</command></term>
                                 this will also print the current unit
                                 state to STDOUT.</para></listitem>
                         </varlistentry>
                                 this will also print the current unit
                                 state to STDOUT.</para></listitem>
                         </varlistentry>
+                        <varlistentry>
+                                <term><command>is-failed [NAME...]</command></term>
+
+                                <listitem><para>Check whether any of
+                                the specified units are failed.
+                                Returns an exit code
+                                0 if at least one is failed, non-zero
+                                otherwise. Unless
+                                <option>--quiet</option> is specified
+                                this will also print the current unit
+                                state to STDOUT.</para></listitem>
+                        </varlistentry>
                         <varlistentry>
                                 <term><command>status [NAME...|PID...]</command></term>
 
                                 <listitem><para>Show terse runtime
                                 status information about one or more
                         <varlistentry>
                                 <term><command>status [NAME...|PID...]</command></term>
 
                                 <listitem><para>Show terse runtime
                                 status information about one or more
-                                units. This function is intended to
-                                generate human-readable output. If you
-                                are looking for computer-parsable
-                                output, use <command>show</command>
-                                instead. If a PID is passed
-                                information about the unit the process
-                                of the PID belongs to is
-                                shown.</para></listitem>
+                                units, followed by its most recent log
+                                data from the journal. This function
+                                is intended to generate human-readable
+                                output. If you are looking for
+                                computer-parsable output, use
+                                <command>show</command> instead. If a
+                                PID is passed information about the
+                                unit the process of the PID belongs to
+                                is shown.</para></listitem>
                         </varlistentry>
                         <varlistentry>
                                 <term><command>show [NAME...|JOB...]</command></term>
                         </varlistentry>
                         <varlistentry>
                                 <term><command>show [NAME...|JOB...]</command></term>
                                 looking for formatted human-readable
                                 output.</para></listitem>
                         </varlistentry>
                                 looking for formatted human-readable
                                 output.</para></listitem>
                         </varlistentry>
+                        <varlistentry>
+                                <term><command>help [NAME...|PID...]</command></term>
 
 
+                                <listitem><para>Show manual pages for
+                                one or more units, if available. If a
+                                PID is passed the manual pages for the
+                                unit the process of the PID belongs to
+                                is shown.</para></listitem>
+                        </varlistentry>
                         <varlistentry>
                                 <term><command>reset-failed [NAME...]</command></term>
 
                         <varlistentry>
                                 <term><command>reset-failed [NAME...]</command></term>
 
                                 command.</para></listitem>
                         </varlistentry>
 
                                 command.</para></listitem>
                         </varlistentry>
 
+                        <varlistentry>
+                                <term><command>list-unit-files</command></term>
+
+                                <listitem><para>List installed unit files.
+                                </para></listitem>
+                        </varlistentry>
+
                         <varlistentry>
                                 <term><command>enable [NAME...]</command></term>
 
                         <varlistentry>
                                 <term><command>enable [NAME...]</command></term>
 
-                                <listitem><para>Enable one or more
-                                unit files, as specified on the
+                                <listitem><para>Enable one or
+                                more unit files or unit file
+                                instances, as specified on the
                                 command line. This will create a
                                 command line. This will create a
-                                number of symlinks as encoded in the
-                                <literal>[Install]</literal> sections
-                                of the unit files. After the symlinks
-                                have been created the systemd
-                                configuration is reloaded (in a way
-                                that is equivalent to
-                                <command>daemon-reload</command>) to
-                                ensure the changes are taken into
+                                number of symlinks as encoded in
+                                the <literal>[Install]</literal>
+                                sections of the unit files. After
+                                the symlinks have been created the
+                                systemd configuration is reloaded
+                                (in a way that is equivalent to
+                                <command>daemon-reload</command>)
+                                to ensure the changes are taken into
                                 account immediately. Note that this
                                 does not have the effect that any of
                                 the units enabled are also started at
                                 account immediately. Note that this
                                 does not have the effect that any of
                                 the units enabled are also started at
-                                the same time. If this is desired a
-                                separate <command>start</command>
-                                command must be invoked for the
-                                unit.</para>
+                                the same time.  If this is desired
+                                a separate <command>start</command>
+                                command must be invoked for the unit.
+                                Also note that in case of instance
+                                enablement, symlinks named same as
+                                instances are created in install
+                                location, however they all point to
+                                the same template unit file.</para>
 
                                 <para>This command will
                                 print the actions executed. This
 
                                 <para>This command will
                                 print the actions executed. This
                                 configuration directory, and hence
                                 undoes the changes made by
                                 <command>enable</command>. Note
                                 configuration directory, and hence
                                 undoes the changes made by
                                 <command>enable</command>. Note
-                                however that this by default removes
+                                however that this removes
                                 all symlinks to the unit files
                                 (i.e. including manual additions), not
                                 just those actually created by
                                 all symlinks to the unit files
                                 (i.e. including manual additions), not
                                 just those actually created by
-                                <command>enable</command>. If only the
-                                symlinks that are suggested by default
-                                shall be removed, pass
-                                <option>--defaults</option>. This
+                                <command>enable</command>. This call
                                 implicitly reloads the systemd daemon
                                 configuration after completing the
                                 disabling of the units. Note that this
                                 command does not implicitly stop the
                                 implicitly reloads the systemd daemon
                                 configuration after completing the
                                 disabling of the units. Note that this
                                 command does not implicitly stop the
-                                units that is being disabled. If this
+                                units that are being disabled. If this
                                 is desired an additional
                                 is desired an additional
-                                <command>stop</command>command should
+                                <command>stop</command> command should
                                 be executed afterwards.</para>
 
                                 <para>This command will print the
                                 be executed afterwards.</para>
 
                                 <para>This command will print the
                                 <term><command>is-enabled [NAME...]</command></term>
 
                                 <listitem><para>Checks whether any of
                                 <term><command>is-enabled [NAME...]</command></term>
 
                                 <listitem><para>Checks whether any of
-                                the specified unit files is enabled
+                                the specified unit files are enabled
                                 (as with
                                 <command>enable</command>). Returns an
                                 exit code of 0 if at least one is
                                 (as with
                                 <command>enable</command>). Returns an
                                 exit code of 0 if at least one is
-                                enabled, non-zero
-                                otherwise.</para></listitem>
+                                enabled, non-zero otherwise. Prints
+                                the current enable status. To suppress
+                                this output use
+                                <option>--quiet</option>.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><command>reenable [NAME...]</command></term>
+
+                                <listitem><para>Reenable one or more
+                                unit files, as specified on the
+                                command line. This is a combination of
+                                <command>disable</command> and
+                                <command>enable</command> and is
+                                useful to reset the symlinks a unit is
+                                enabled with to the defaults
+                                configured in the
+                                <literal>[Install]</literal> section
+                                of the unit file.</para>
+                                </listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><command>preset [NAME...]</command></term>
+
+                                <listitem><para>Reset one or more unit
+                                files, as specified on the command
+                                line, to the defaults configured in
+                                the preset policy files. This has the
+                                same effect as
+                                <command>disable</command> or
+                                <command>enable</command>, depending
+                                how the unit is listed in the preset
+                                files. For more information on preset
+                                policy format see
+                                <citerefentry><refentrytitle>systemd.preset</refentrytitle><manvolnum>5</manvolnum></citerefentry>. For
+                                more information on the concept of
+                                presets please consult the <ulink
+                                url="http://freedesktop.org/wiki/Software/systemd/Preset">Preset</ulink>
+                                document.</para>
+                                </listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><command>mask [NAME...]</command></term>
+
+                                <listitem><para>Mask one or more unit
+                                files, as specified on the command
+                                line. This will link these units to
+                                <filename>/dev/null</filename>, making
+                                it impossible to start them. This is a stronger version
+                                of <command>disable</command>, since
+                                it prohibits all kinds of activation
+                                of the unit, including manual
+                                activation. Use this option with
+                                care.</para>
+                                </listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><command>unmask [NAME...]</command></term>
+
+                                <listitem><para>Unmask one or more
+                                unit files, as specified on the
+                                command line. This will undo the
+                                effect of
+                                <command>mask</command>.</para>
+                                </listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><command>link [NAME...]</command></term>
+
+                                <listitem><para>Link a unit file that
+                                is not in the unit file search paths
+                                into the unit file search path. This
+                                requires an absolute path to a unit
+                                file. The effect of this can be undone
+                                with <command>disable</command>. The
+                                effect of this command is that a unit
+                                file is available for
+                                <command>start</command> and other
+                                commands although it isn't installed
+                                directly in the unit search
+                                path.</para>
+                                </listitem>
                         </varlistentry>
 
                         <varlistentry>
                         </varlistentry>
 
                         <varlistentry>
                                 their numeric job
                                 IDs. If no job id is specified, cancel all pending jobs.</para></listitem>
                         </varlistentry>
                                 their numeric job
                                 IDs. If no job id is specified, cancel all pending jobs.</para></listitem>
                         </varlistentry>
-                        <varlistentry>
-                                <term><command>monitor</command></term>
-
-                                <listitem><para>Monitor unit/job
-                                changes. This is mostly useful for
-                                debugging purposes and prints a line
-                                each time systemd loads or unloads a
-                                unit configuration file, or a unit
-                                property changes.</para></listitem>
-                        </varlistentry>
                         <varlistentry>
                                 <term><command>dump</command></term>
 
                         <varlistentry>
                                 <term><command>dump</command></term>
 
                                 ordering and requirement
                                 dependencies.</para></listitem>
                         </varlistentry>
                                 ordering and requirement
                                 dependencies.</para></listitem>
                         </varlistentry>
+                        <varlistentry>
+                                <term><command>list-dependencies [NAME]</command></term>
+
+                                <listitem><para>
+                                Shows required and wanted units of given unit.
+                                Target units are recursively expanded.
+                                When <option>--all</option> is passed
+                                dependency tree is generated for all
+                                subsidiary units.</para>
+                                </listitem>
+                        </varlistentry>
                         <varlistentry>
                                 <term><command>snapshot [NAME]</command></term>
 
                         <varlistentry>
                                 <term><command>snapshot [NAME]</command></term>
 
                                 system. This is mostly equivalent to
                                 <command>start halt.target</command>
                                 but also prints a wall message to all
                                 system. This is mostly equivalent to
                                 <command>start halt.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
+                                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
                                 mounted read-only, immediately
-                                followed by the
-                                system halt.</para></listitem>
+                                followed by the system halt.  If
+                                <option>--force</option> is specified
+                                twice the operation is immediately
+                                executed without terminating any
+                                processes or unmounting any file
+                                systems. This may result in data
+                                loss.</para></listitem>
                         </varlistentry>
                         <varlistentry>
                                 <term><command>poweroff</command></term>
                         </varlistentry>
                         <varlistentry>
                                 <term><command>poweroff</command></term>
                                 power-off the system. This is mostly
                                 equivalent to <command>start
                                 poweroff.target</command> but also
                                 power-off the system. This is mostly
                                 equivalent to <command>start
                                 poweroff.target</command> but also
-                                prints a wall message to all
-                                users. If
+                                prints a wall message to all users. If
                                 combined with <option>--force</option>
                                 shutdown of all running services is
                                 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>
+                                skipped, however all processes are
+                                killed and all file systems are
+                                unmounted or mounted read-only,
+                                immediately followed by the powering
+                                off. If <option>--force</option> is
+                                specified twice the operation is
+                                immediately executed without
+                                terminating any processes or
+                                unmounting any file systems. This may
+                                result in data loss.</para></listitem>
                         </varlistentry>
                         <varlistentry>
                                 <term><command>reboot</command></term>
 
                         </varlistentry>
                         <varlistentry>
                                 <term><command>reboot</command></term>
 
-                                <listitem><para>Shut down and
-                                reboot the system. This is mostly
-                                equivalent to <command>start
+                                <listitem><para>Shut down and reboot
+                                the system. This is mostly equivalent
+                                to <command>start
                                 reboot.target</command> but also
                                 reboot.target</command> but also
-                                prints a wall message to all
-                                users. If
+                                prints a wall message to all users. If
                                 combined with <option>--force</option>
                                 shutdown of all running services is
                                 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>
+                                skipped, however all processes are
+                                killed and all file systems are
+                                unmounted or mounted read-only,
+                                immediately followed by the reboot. If
+                                <option>--force</option> is specified
+                                twice the operation is immediately
+                                executed without terminating any
+                                processes or unmounting any file
+                                systems. This may result in data
+                                loss.</para></listitem>
                         </varlistentry>
                         <varlistentry>
                                 <term><command>kexec</command></term>
                         </varlistentry>
                         <varlistentry>
                                 <term><command>kexec</command></term>
                                 <option>--user</option> option) and
                                 will fail otherwise.</para></listitem>
                         </varlistentry>
                                 <option>--user</option> option) and
                                 will fail otherwise.</para></listitem>
                         </varlistentry>
+                        <varlistentry>
+                                <term><command>suspend</command></term>
+
+                                <listitem><para>Suspend the
+                                system. This will trigger activation
+                                of the special
+                                <filename>suspend.target</filename>
+                                target.</para></listitem>
+                        </varlistentry>
+                        <varlistentry>
+                                <term><command>hibernate</command></term>
+
+                                <listitem><para>Hibernate the
+                                system. This will trigger activation
+                                of the special
+                                <filename>hibernate.target</filename>
+                                target.</para></listitem>
+                        </varlistentry>
+                        <varlistentry>
+                                <term><command>hybrid-sleep</command></term>
+
+                                <listitem><para>Hibernate and suspend
+                                the system. This will trigger
+                                activation of the special
+                                <filename>hybrid-sleep.target</filename>
+                                target.</para></listitem>
+                        </varlistentry>
+                        <varlistentry>
+                                <term><command>switch-root [ROOT] [INIT]</command></term>
+
+                                <listitem><para>Switches to a
+                                different root directory and executes
+                                a new system manager process below
+                                it. This is intended for usage in
+                                initial RAM disks ("initrd"), and will
+                                transition from the initrd's system
+                                manager process (a.k.a "init" process)
+                                to the main system manager
+                                process. Takes two arguments: the
+                                directory to make the new root
+                                directory, and the path to the new
+                                system manager binary below it to
+                                execute as PID 1. If the latter is
+                                omitted or the empty string, a
+                                systemd binary will automatically be
+                                searched for and used as init. If the
+                                system manager path is omitted or
+                                equal the empty string the state of
+                                the initrd's system manager process is
+                                passed to the main system manager,
+                                which allows later introspection of the
+                                state of the services involved in the
+                                initrd boot.</para></listitem>
+                        </varlistentry>
                 </variablelist>
 
         </refsect1>
                 </variablelist>
 
         </refsect1>
                 code otherwise.</para>
         </refsect1>
 
                 code otherwise.</para>
         </refsect1>
 
+        <refsect1>
+                <title>Environment</title>
+
+                <variablelist>
+                        <varlistentry>
+                                <term><varname>$SYSTEMD_PAGER</varname></term>
+                                <listitem><para>Pager to use when
+                                <option>--no-pager</option> is not given;
+                                overrides <varname>$PAGER</varname>.  Setting
+                                this to an empty string or the value
+                                <literal>cat</literal> is equivalent to passing
+                                <option>--no-pager</option>.</para></listitem>
+                        </varlistentry>
+                </variablelist>
+        </refsect1>
+
         <refsect1>
                 <title>See Also</title>
                 <para>
                         <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
                         <citerefentry><refentrytitle>systemadm</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
         <refsect1>
                 <title>See Also</title>
                 <para>
                         <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
                         <citerefentry><refentrytitle>systemadm</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+                        <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+                        <citerefentry><refentrytitle>loginctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
                         <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
                         <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
                         <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
                         <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
-                        <citerefentry><refentrytitle>wall</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+                        <citerefentry><refentrytitle>wall</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+                        <citerefentry><refentrytitle>systemd.preset</refentrytitle><manvolnum>5</manvolnum></citerefentry>
                 </para>
         </refsect1>
 
                 </para>
         </refsect1>