summaryrefslogtreecommitdiff
path: root/man/systemd.xml
diff options
context:
space:
mode:
Diffstat (limited to 'man/systemd.xml')
-rw-r--r--man/systemd.xml1157
1 files changed, 0 insertions, 1157 deletions
diff --git a/man/systemd.xml b/man/systemd.xml
deleted file mode 100644
index 79d8aedbbc..0000000000
--- a/man/systemd.xml
+++ /dev/null
@@ -1,1157 +0,0 @@
-<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*-->
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
-
-<!--
- This file is part of systemd.
-
- Copyright 2010 Lennart Poettering
-
- systemd is free software; you can redistribute it and/or modify it
- 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public License
- along with systemd; If not, see <http://www.gnu.org/licenses/>.
--->
-
-<refentry id="systemd"
- xmlns:xi="http://www.w3.org/2001/XInclude">
-
- <refentryinfo>
- <title>systemd</title>
- <productname>systemd</productname>
-
- <authorgroup>
- <author>
- <contrib>Developer</contrib>
- <firstname>Lennart</firstname>
- <surname>Poettering</surname>
- <email>lennart@poettering.net</email>
- </author>
- </authorgroup>
- </refentryinfo>
-
- <refmeta>
- <refentrytitle>systemd</refentrytitle>
- <manvolnum>1</manvolnum>
- </refmeta>
-
- <refnamediv>
- <refname>systemd</refname>
- <refname>init</refname>
- <refpurpose>systemd system and service manager</refpurpose>
- </refnamediv>
-
- <refsynopsisdiv>
- <cmdsynopsis>
- <command>systemd <arg choice="opt" rep="repeat">OPTIONS</arg></command>
- </cmdsynopsis>
- <cmdsynopsis>
- <command>init <arg choice="opt" rep="repeat">OPTIONS</arg> <arg choice="req">COMMAND</arg></command>
- </cmdsynopsis>
- </refsynopsisdiv>
-
- <refsect1>
- <title>Description</title>
-
- <para>systemd is a system and service manager for GNU/Linux operating
- systems. When run as first process on boot (as PID 1), it acts as
- init system that brings up and maintains userspace
- services.</para>
-
- <para>For compatibility with SysV, if systemd is called as
- <command>init</command> and a PID that is not 1, it will execute
- <command>telinit</command> and pass all command line arguments
- unmodified. That means <command>init</command> and
- <command>telinit</command> are mostly equivalent when invoked from
- normal login sessions. See
- <citerefentry><refentrytitle>telinit</refentrytitle><manvolnum>8</manvolnum></citerefentry>
- for more information.</para>
-
- <para>When run as a system instance, systemd interprets the
- configuration file <filename>system.conf</filename> and the files
- in <filename>system.conf.d</filename> directories; when run as a
- user instance, systemd interprets the configuration file
- <filename>user.conf</filename> and the files in
- <filename>user.conf.d</filename> directories. See
- <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
- for more information.</para>
- </refsect1>
-
- <refsect1>
- <title>Options</title>
-
- <para>The following options are understood:</para>
-
- <variablelist>
- <varlistentry>
- <term><option>--test</option></term>
-
- <listitem><para>Determine startup sequence, dump it and exit.
- This is an option useful for debugging only.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--dump-configuration-items</option></term>
-
- <listitem><para>Dump understood unit configuration items. This
- outputs a terse but complete list of configuration items
- understood in unit definition files.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--unit=</option></term>
-
- <listitem><para>Set default unit to activate on startup. If
- not specified, defaults to
- <filename>default.target</filename>.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--system</option></term>
- <term><option>--user</option></term>
-
- <listitem><para>For <option>--system</option>, tell systemd to
- run a system instance, even if the process ID is not 1, i.e.
- systemd is not run as init process. <option>--user</option>
- does the opposite, running a user instance even if the process
- ID is 1. Normally, it should not be necessary to pass these
- options, as systemd automatically detects the mode it is
- started in. These options are hence of little use except for
- debugging. Note that it is not supported booting and
- maintaining a full system with systemd running in
- <option>--system</option> mode, but PID not 1. In practice,
- passing <option>--system</option> explicitly is only useful in
- conjunction with <option>--test</option>.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--dump-core</option></term>
-
- <listitem><para>Enable core dumping on crash. This switch has
- no effect when running as user instance. This setting may also
- be enabled during boot on the kernel command line via the
- <varname>systemd.dump_core=</varname> option, see
- below.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--crash-vt=</option><replaceable>VT</replaceable></term>
-
- <listitem><para>Switch to a specific virtual console (VT) on
- crash. Takes a positive integer in the range 1–63, or a
- boolean argument. If an integer is passed, selects which VT to
- switch to. If <constant>yes</constant>, the VT kernel messages
- are written to is selected. If <constant>no</constant>, no VT
- switch is attempted. This switch has no effect when running as
- user instance. This setting may also be enabled during boot,
- on the kernel command line via the
- <varname>systemd.crash_vt=</varname> option, see
- below.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--crash-shell</option></term>
-
- <listitem><para>Run a shell on crash. This switch has no
- effect when running as user instance. This setting may also be
- enabled during boot, on the kernel command line via the
- <varname>systemd.crash_shell=</varname> option, see
- below.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--crash-reboot</option></term>
-
- <listitem><para>Automatically reboot the system on crash. This
- switch has no effect when running as user instance. This
- setting may also be enabled during boot, on the kernel command
- line via the <varname>systemd.crash_reboot=</varname> option,
- see below.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--confirm-spawn</option></term>
-
- <listitem><para>Ask for confirmation when spawning processes.
- This switch has no effect when run as user
- instance.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--show-status=</option></term>
-
- <listitem><para>Show terse service status information while
- booting. This switch has no effect when run as user instance.
- Takes a boolean argument which may be omitted which is
- interpreted as <option>true</option>.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--log-target=</option></term>
-
- <listitem><para>Set log target. Argument must be one of
- <option>console</option>,
- <option>journal</option>,
- <option>kmsg</option>,
- <option>journal-or-kmsg</option>,
- <option>null</option>.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--log-level=</option></term>
-
- <listitem><para>Set log level. As
- argument this accepts a numerical log
- level or the well-known <citerefentry project='man-pages'><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></citerefentry>
- symbolic names (lowercase):
- <option>emerg</option>,
- <option>alert</option>,
- <option>crit</option>,
- <option>err</option>,
- <option>warning</option>,
- <option>notice</option>,
- <option>info</option>,
- <option>debug</option>.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--log-color=</option></term>
-
- <listitem><para>Highlight important log messages. Argument is
- a boolean value. If the argument is omitted, it defaults to
- <option>true</option>.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--log-location=</option></term>
-
- <listitem><para>Include code location in log messages. This is
- mostly relevant for debugging purposes. Argument is a boolean
- value. If the argument is omitted it defaults to
- <option>true</option>.</para></listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--default-standard-output=</option></term>
- <term><option>--default-standard-error=</option></term>
-
- <listitem><para>Sets the default output or error output for
- all services and sockets, respectively. That is, controls the
- default for <option>StandardOutput=</option> and
- <option>StandardError=</option> (see
- <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>
- for details). Takes one of
- <option>inherit</option>,
- <option>null</option>,
- <option>tty</option>,
- <option>journal</option>,
- <option>journal+console</option>,
- <option>syslog</option>,
- <option>syslog+console</option>,
- <option>kmsg</option>,
- <option>kmsg+console</option>. If the
- argument is omitted
- <option>--default-standard-output=</option> defaults to
- <option>journal</option> and
- <option>--default-standard-error=</option> to
- <option>inherit</option>.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--machine-id=</option></term>
-
- <listitem><para>Override the machine-id set on the hard drive,
- useful for network booting or for containers. May not be set
- to all zeros.</para></listitem>
- </varlistentry>
-
- <xi:include href="standard-options.xml" xpointer="help" />
- <xi:include href="standard-options.xml" xpointer="version" />
- </variablelist>
- </refsect1>
-
- <refsect1>
- <title>Concepts</title>
-
- <para>systemd provides a dependency system between various
- entities called "units" of 11 different types. Units encapsulate
- various objects that are relevant for system boot-up and
- maintenance. The majority of units are configured in unit
- configuration files, whose syntax and basic set of options is
- described in
- <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
- however some are created automatically from other configuration,
- dynamically from system state or programmatically at runtime.
- Units may be "active" (meaning started, bound, plugged in, ...,
- depending on the unit type, see below), or "inactive" (meaning
- stopped, unbound, unplugged, ...), as well as in the process of
- being activated or deactivated, i.e. between the two states (these
- states are called "activating", "deactivating"). A special
- "failed" state is available as well, which is very similar to
- "inactive" and is entered when the service failed in some way
- (process returned error code on exit, or crashed, or an operation
- timed out). If this state is entered, the cause will be logged,
- for later reference. Note that the various unit types may have a
- number of additional substates, which are mapped to the five
- generalized unit states described here.</para>
-
- <para>The following unit types are available:</para>
-
- <orderedlist>
- <listitem><para>Service units, which start and control daemons
- and the processes they consist of. For details, see
- <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem>
-
- <listitem><para>Socket units, which encapsulate local IPC or
- network sockets in the system, useful for socket-based
- activation. For details about socket units, see
- <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
- for details on socket-based activation and other forms of
- activation, see
- <citerefentry><refentrytitle>daemon</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para></listitem>
-
- <listitem><para>Target units are useful to group units, or
- provide well-known synchronization points during boot-up, see
- <citerefentry><refentrytitle>systemd.target</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem>
-
- <listitem><para>Device units expose kernel devices in systemd
- and may be used to implement device-based activation. For
- details, see
- <citerefentry><refentrytitle>systemd.device</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem>
-
- <listitem><para>Mount units control mount points in the file
- system, for details see
- <citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem>
-
- <listitem><para>Automount units provide automount capabilities,
- for on-demand mounting of file systems as well as parallelized
- boot-up. See
- <citerefentry><refentrytitle>systemd.automount</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem>
-
- <listitem><para>Timer units are useful for triggering activation
- of other units based on timers. You may find details in
- <citerefentry><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem>
-
- <listitem><para>Swap units are very similar to mount units and
- encapsulate memory swap partitions or files of the operating
- system. They are described in
- <citerefentry><refentrytitle>systemd.swap</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem>
-
- <listitem><para>Path units may be used to activate other
- services when file system objects change or are modified. See
- <citerefentry><refentrytitle>systemd.path</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem>
-
- <listitem><para>Slice units may be used to group units which
- manage system processes (such as service and scope units) in a
- hierarchical tree for resource management purposes. See
- <citerefentry><refentrytitle>systemd.slice</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem>
-
- <listitem><para>Scope units are similar to service units, but
- manage foreign processes instead of starting them as well. See
- <citerefentry><refentrytitle>systemd.scope</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem>
-
- </orderedlist>
-
- <para>Units are named as their configuration files. Some units
- have special semantics. A detailed list is available in
- <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
-
- <para>systemd knows various kinds of dependencies, including
- positive and negative requirement dependencies (i.e.
- <varname>Requires=</varname> and <varname>Conflicts=</varname>) as
- well as ordering dependencies (<varname>After=</varname> and
- <varname>Before=</varname>). NB: ordering and requirement
- dependencies are orthogonal. If only a requirement dependency
- exists between two units (e.g. <filename>foo.service</filename>
- requires <filename>bar.service</filename>), but no ordering
- dependency (e.g. <filename>foo.service</filename> after
- <filename>bar.service</filename>) and both are requested to start,
- they will be started in parallel. It is a common pattern that both
- requirement and ordering dependencies are placed between two
- units. Also note that the majority of dependencies are implicitly
- created and maintained by systemd. In most cases, it should be
- unnecessary to declare additional dependencies manually, however
- it is possible to do this.</para>
-
- <para>Application programs and units (via dependencies) may
- request state changes of units. In systemd, these requests are
- encapsulated as 'jobs' and maintained in a job queue. Jobs may
- succeed or can fail, their execution is ordered based on the
- ordering dependencies of the units they have been scheduled
- for.</para>
-
- <para>On boot systemd activates the target unit
- <filename>default.target</filename> whose job is to activate
- on-boot services and other on-boot units by pulling them in via
- dependencies. Usually, the unit name is just an alias (symlink) for
- either <filename>graphical.target</filename> (for fully-featured
- boots into the UI) or <filename>multi-user.target</filename> (for
- limited console-only boots for use in embedded or server
- environments, or similar; a subset of graphical.target). However,
- it is at the discretion of the administrator to configure it as an
- alias to any other target unit. See
- <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>
- for details about these target units.</para>
-
- <para>Processes systemd spawns are placed in individual Linux
- control groups named after the unit which they belong to in the
- private systemd hierarchy. (see <ulink
- url="https://www.kernel.org/doc/Documentation/cgroups/cgroups.txt">cgroups.txt</ulink>
- for more information about control groups, or short "cgroups").
- systemd uses this to effectively keep track of processes. Control
- group information is maintained in the kernel, and is accessible
- via the file system hierarchy (beneath
- <filename>/sys/fs/cgroup/systemd/</filename>), or in tools such as
- <citerefentry project='man-pages'><refentrytitle>systemd-cgls</refentrytitle><manvolnum>1</manvolnum></citerefentry>
- or
- <citerefentry project='man-pages'><refentrytitle>ps</refentrytitle><manvolnum>1</manvolnum></citerefentry>
- (<command>ps xawf -eo pid,user,cgroup,args</command> is
- particularly useful to list all processes and the systemd units
- they belong to.).</para>
-
- <para>systemd is compatible with the SysV init system to a large
- degree: SysV init scripts are supported and simply read as an
- alternative (though limited) configuration file format. The SysV
- <filename>/dev/initctl</filename> interface is provided, and
- compatibility implementations of the various SysV client tools are
- available. In addition to that, various established Unix
- functionality such as <filename>/etc/fstab</filename> or the
- <filename>utmp</filename> database are supported.</para>
-
- <para>systemd has a minimal transaction system: if a unit is
- requested to start up or shut down it will add it and all its
- dependencies to a temporary transaction. Then, it will verify if
- the transaction is consistent (i.e. whether the ordering of all
- units is cycle-free). If it is not, systemd will try to fix it up,
- and removes non-essential jobs from the transaction that might
- remove the loop. Also, systemd tries to suppress non-essential
- jobs in the transaction that would stop a running service. Finally
- it is checked whether the jobs of the transaction contradict jobs
- that have already been queued, and optionally the transaction is
- aborted then. If all worked out and the transaction is consistent
- and minimized in its impact it is merged with all already
- outstanding jobs and added to the run queue. Effectively this
- means that before executing a requested operation, systemd will
- verify that it makes sense, fixing it if possible, and only
- failing if it really cannot work.</para>
-
- <para>Systemd contains native implementations of various tasks
- that need to be executed as part of the boot process. For example,
- it sets the hostname or configures the loopback network device. It
- also sets up and mounts various API file systems, such as
- <filename>/sys</filename> or <filename>/proc</filename>.</para>
-
- <para>For more information about the concepts and
- ideas behind systemd, please refer to the
- <ulink url="http://0pointer.de/blog/projects/systemd.html">Original Design Document</ulink>.</para>
-
- <para>Note that some but not all interfaces provided
- by systemd are covered by the
- <ulink url="http://www.freedesktop.org/wiki/Software/systemd/InterfaceStabilityPromise">Interface
- Stability Promise</ulink>.</para>
-
- <para>Units may be generated dynamically at boot and system
- manager reload time, for example based on other configuration
- files or parameters passed on the kernel command line. For details, see
- <citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
-
- <para>Systems which invoke systemd in a container or initrd
- environment should implement the
- <ulink url="http://www.freedesktop.org/wiki/Software/systemd/ContainerInterface">Container Interface</ulink> or
- <ulink url="http://www.freedesktop.org/wiki/Software/systemd/InitrdInterface">initrd Interface</ulink>
- specifications, respectively.</para>
- </refsect1>
-
- <refsect1>
- <title>Directories</title>
-
- <variablelist>
- <varlistentry>
- <term>System unit directories</term>
-
- <listitem><para>The systemd system manager reads unit
- configuration from various directories. Packages that want to
- install unit files shall place them in the directory returned
- by <command>pkg-config systemd
- --variable=systemdsystemunitdir</command>. Other directories
- checked are <filename>/usr/local/lib/systemd/system</filename>
- and <filename>/usr/lib/systemd/system</filename>. User
- configuration always takes precedence. <command>pkg-config
- systemd --variable=systemdsystemconfdir</command> returns the
- path of the system configuration directory. Packages should
- alter the content of these directories only with the
- <command>enable</command> and <command>disable</command>
- commands of the
- <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
- tool. Full list of directories is provided in
- <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
- </para></listitem>
- </varlistentry>
- </variablelist>
-
- <variablelist>
- <varlistentry>
- <term>User unit directories</term>
-
- <listitem><para>Similar rules apply for the user unit
- directories. However, here the
- <ulink url="http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html">XDG
- Base Directory specification</ulink> is followed to find
- units. Applications should place their unit files in the
- directory returned by <command>pkg-config systemd
- --variable=systemduserunitdir</command>. Global configuration
- is done in the directory reported by <command>pkg-config
- systemd --variable=systemduserconfdir</command>. The
- <command>enable</command> and <command>disable</command>
- commands of the
- <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
- tool can handle both global (i.e. for all users) and private
- (for one user) enabling/disabling of units. Full list of
- directories is provided in
- <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
- </para></listitem>
- </varlistentry>
- </variablelist>
-
- <variablelist>
- <varlistentry>
- <term>SysV init scripts directory</term>
-
- <listitem><para>The location of the SysV init script directory
- varies between distributions. If systemd cannot find a native
- unit file for a requested service, it will look for a SysV
- init script of the same name (with the
- <filename>.service</filename> suffix
- removed).</para></listitem>
- </varlistentry>
- </variablelist>
-
- <variablelist>
- <varlistentry>
- <term>SysV runlevel link farm directory</term>
-
- <listitem><para>The location of the SysV runlevel link farm
- directory varies between distributions. systemd will take the
- link farm into account when figuring out whether a service
- shall be enabled. Note that a service unit with a native unit
- configuration file cannot be started by activating it in the
- SysV runlevel link farm.</para></listitem>
- </varlistentry>
- </variablelist>
- </refsect1>
-
- <refsect1>
- <title>Signals</title>
-
- <variablelist>
- <varlistentry>
- <term><constant>SIGTERM</constant></term>
-
- <listitem><para>Upon receiving this signal the systemd system
- manager serializes its state, reexecutes itself and
- deserializes the saved state again. This is mostly equivalent
- to <command>systemctl daemon-reexec</command>.</para>
-
- <para>systemd user managers will start the
- <filename>exit.target</filename> unit when this signal is
- received. This is mostly equivalent to <command>systemctl
- --user start exit.target</command>.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><constant>SIGINT</constant></term>
-
- <listitem><para>Upon receiving this signal the systemd system
- manager will start the
- <filename>ctrl-alt-del.target</filename> unit. This is mostly
- equivalent to <command>systemctl start
- ctl-alt-del.target</command>. If this signal is received more
- than 7 times per 2s, an immediate reboot is triggered.
- Note that pressing Ctrl-Alt-Del on the console will trigger
- this signal. Hence, if a reboot is hanging, pressing
- Ctrl-Alt-Del more than 7 times in 2s is a relatively safe way
- to trigger an immediate reboot.</para>
-
- <para>systemd user managers treat this signal the same way as
- <constant>SIGTERM</constant>.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><constant>SIGWINCH</constant></term>
-
- <listitem><para>When this signal is received the systemd
- system manager will start the
- <filename>kbrequest.target</filename> unit. This is mostly
- equivalent to <command>systemctl start
- kbrequest.target</command>.</para>
-
- <para>This signal is ignored by systemd user
- managers.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><constant>SIGPWR</constant></term>
-
- <listitem><para>When this signal is received the systemd
- manager will start the <filename>sigpwr.target</filename>
- unit. This is mostly equivalent to <command>systemctl start
- sigpwr.target</command>.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><constant>SIGUSR1</constant></term>
-
- <listitem><para>When this signal is received the systemd
- manager will try to reconnect to the D-Bus
- bus.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><constant>SIGUSR2</constant></term>
-
- <listitem><para>When this signal is received the systemd
- manager will log its complete state in human-readable form.
- The data logged is the same as printed by
- <command>systemd-analyze dump</command>.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><constant>SIGHUP</constant></term>
-
- <listitem><para>Reloads the complete daemon configuration.
- This is mostly equivalent to <command>systemctl
- daemon-reload</command>.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><constant>SIGRTMIN+0</constant></term>
-
- <listitem><para>Enters default mode, starts the
- <filename>default.target</filename> unit. This is mostly
- equivalent to <command>systemctl start
- default.target</command>.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><constant>SIGRTMIN+1</constant></term>
-
- <listitem><para>Enters rescue mode, starts the
- <filename>rescue.target</filename> unit. This is mostly
- equivalent to <command>systemctl isolate
- rescue.target</command>.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><constant>SIGRTMIN+2</constant></term>
-
- <listitem><para>Enters emergency mode, starts the
- <filename>emergency.service</filename> unit. This is mostly
- equivalent to <command>systemctl isolate
- emergency.service</command>.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><constant>SIGRTMIN+3</constant></term>
-
- <listitem><para>Halts the machine, starts the
- <filename>halt.target</filename> unit. This is mostly
- equivalent to <command>systemctl start
- halt.target</command>.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><constant>SIGRTMIN+4</constant></term>
-
- <listitem><para>Powers off the machine, starts the
- <filename>poweroff.target</filename> unit. This is mostly
- equivalent to <command>systemctl start
- poweroff.target</command>.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><constant>SIGRTMIN+5</constant></term>
-
- <listitem><para>Reboots the machine, starts the
- <filename>reboot.target</filename> unit. This is mostly
- equivalent to <command>systemctl start
- reboot.target</command>.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><constant>SIGRTMIN+6</constant></term>
-
- <listitem><para>Reboots the machine via kexec, starts the
- <filename>kexec.target</filename> unit. This is mostly
- equivalent to <command>systemctl start
- kexec.target</command>.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><constant>SIGRTMIN+13</constant></term>
-
- <listitem><para>Immediately halts the machine.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><constant>SIGRTMIN+14</constant></term>
-
- <listitem><para>Immediately powers off the machine.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><constant>SIGRTMIN+15</constant></term>
-
- <listitem><para>Immediately reboots the machine.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><constant>SIGRTMIN+16</constant></term>
-
- <listitem><para>Immediately reboots the machine with kexec.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><constant>SIGRTMIN+20</constant></term>
-
- <listitem><para>Enables display of status messages on the
- console, as controlled via
- <varname>systemd.show_status=1</varname> on the kernel command
- line.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><constant>SIGRTMIN+21</constant></term>
-
- <listitem><para>Disables display of
- status messages on the console, as
- controlled via
- <varname>systemd.show_status=0</varname>
- on the kernel command
- line.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><constant>SIGRTMIN+22</constant></term>
- <term><constant>SIGRTMIN+23</constant></term>
-
- <listitem><para>Sets the log level to <literal>debug</literal>
- (or <literal>info</literal> on
- <constant>SIGRTMIN+23</constant>), as controlled via
- <varname>systemd.log_level=debug</varname> (or
- <varname>systemd.log_level=info</varname> on
- <constant>SIGRTMIN+23</constant>) on the kernel command
- line.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><constant>SIGRTMIN+24</constant></term>
-
- <listitem><para>Immediately exits the manager (only available
- for --user instances).</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><constant>SIGRTMIN+26</constant></term>
- <term><constant>SIGRTMIN+27</constant></term>
- <term><constant>SIGRTMIN+28</constant></term>
-
- <listitem><para>Sets the log level to
- <literal>journal-or-kmsg</literal> (or
- <literal>console</literal> on
- <constant>SIGRTMIN+27</constant>, <literal>kmsg</literal> on
- <constant>SIGRTMIN+28</constant>), as controlled via
- <varname>systemd.log_target=journal-or-kmsg</varname> (or
- <varname>systemd.log_target=console</varname> on
- <constant>SIGRTMIN+27</constant> or
- <varname>systemd.log_target=kmsg</varname> on
- <constant>SIGRTMIN+28</constant>) on the kernel command
- line.</para></listitem>
- </varlistentry>
- </variablelist>
- </refsect1>
-
- <refsect1>
- <title>Environment</title>
-
- <variablelist class='environment-variables'>
- <varlistentry>
- <term><varname>$SYSTEMD_LOG_LEVEL</varname></term>
- <listitem><para>systemd reads the log level from this
- environment variable. This can be overridden with
- <option>--log-level=</option>.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>$SYSTEMD_LOG_TARGET</varname></term>
- <listitem><para>systemd reads the log target from this
- environment variable. This can be overridden with
- <option>--log-target=</option>.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>$SYSTEMD_LOG_COLOR</varname></term>
- <listitem><para>Controls whether systemd highlights important
- log messages. This can be overridden with
- <option>--log-color=</option>.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>$SYSTEMD_LOG_LOCATION</varname></term>
- <listitem><para>Controls whether systemd prints the code
- location along with log messages. This can be overridden with
- <option>--log-location=</option>.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>$XDG_CONFIG_HOME</varname></term>
- <term><varname>$XDG_CONFIG_DIRS</varname></term>
- <term><varname>$XDG_DATA_HOME</varname></term>
- <term><varname>$XDG_DATA_DIRS</varname></term>
-
- <listitem><para>The systemd user manager uses these variables
- in accordance to the <ulink
- url="http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html">XDG
- Base Directory specification</ulink> to find its
- configuration.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>$SYSTEMD_UNIT_PATH</varname></term>
-
- <listitem><para>Controls where systemd looks for unit
- files.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>$SYSTEMD_SYSVINIT_PATH</varname></term>
-
- <listitem><para>Controls where systemd looks for SysV init
- scripts.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>$SYSTEMD_SYSVRCND_PATH</varname></term>
-
- <listitem><para>Controls where systemd looks for SysV init
- script runlevel link farms.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>$SYSTEMD_COLORS</varname></term>
-
- <listitem><para>The value must be a boolean. Controls whether colorized output should be
- generated. This can be specified to override the decision that <command>systemd</command>
- makes based on <varname>$TERM</varname> and what the console is connected to.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>$LISTEN_PID</varname></term>
- <term><varname>$LISTEN_FDS</varname></term>
- <term><varname>$LISTEN_FDNAMES</varname></term>
-
- <listitem><para>Set by systemd for supervised processes during
- socket-based activation. See
- <citerefentry><refentrytitle>sd_listen_fds</refentrytitle><manvolnum>3</manvolnum></citerefentry>
- for more information.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>$NOTIFY_SOCKET</varname></term>
-
- <listitem><para>Set by systemd for supervised processes for
- status and start-up completion notification. See
- <citerefentry><refentrytitle>sd_notify</refentrytitle><manvolnum>3</manvolnum></citerefentry>
- for more information.</para></listitem>
- </varlistentry>
- </variablelist>
- </refsect1>
-
- <refsect1>
- <title>Kernel Command Line</title>
-
- <para>When run as system instance systemd parses a number of
- kernel command line arguments<footnote><para>If run inside a Linux
- container these arguments may be passed as command line arguments
- to systemd itself, next to any of the command line options listed
- in the Options section above. If run outside of Linux containers,
- these arguments are parsed from <filename>/proc/cmdline</filename>
- instead.</para></footnote>:</para>
-
- <variablelist class='kernel-commandline-options'>
- <varlistentry>
- <term><varname>systemd.unit=</varname></term>
- <term><varname>rd.systemd.unit=</varname></term>
-
- <listitem><para>Overrides the unit to activate on boot.
- Defaults to <filename>default.target</filename>. This may be
- used to temporarily boot into a different boot unit, for
- example <filename>rescue.target</filename> or
- <filename>emergency.service</filename>. See
- <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>
- for details about these units. The option prefixed with
- <literal>rd.</literal> is honored only in the initial RAM disk
- (initrd), while the one that is not prefixed only in the main
- system.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>systemd.dump_core=</varname></term>
-
- <listitem><para>Takes a boolean argument. If
- <option>yes</option>, the systemd manager (PID 1) dumps core
- when it crashes. Otherwise, no core dump is created. Defaults
- to <option>yes</option>.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>systemd.crash_chvt=</varname></term>
-
- <listitem><para>Takes a positive integer, or a boolean
- argument. If a positive integer (in the range 1–63) is
- specified, the system manager (PID 1) will activate the specified
- virtual terminal (VT) when it crashes. Defaults to
- <constant>no</constant>, meaning that no such switch is
- attempted. If set to <constant>yes</constant>, the VT the
- kernel messages are written to is selected.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>systemd.crash_shell=</varname></term>
-
- <listitem><para>Takes a boolean argument. If
- <option>yes</option>, the system manager (PID 1) spawns a
- shell when it crashes, after a 10s delay. Otherwise, no shell
- is spawned. Defaults to <option>no</option>, for security
- reasons, as the shell is not protected by password
- authentication.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>systemd.crash_reboot=</varname></term>
-
- <listitem><para>Takes a boolean argument. If
- <option>yes</option>, the system manager (PID 1) will reboot
- the machine automatically when it crashes, after a 10s delay.
- Otherwise, the system will hang indefinitely. Defaults to
- <option>no</option>, in order to avoid a reboot loop. If
- combined with <varname>systemd.crash_shell=</varname>, the
- system is rebooted after the shell exits.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>systemd.confirm_spawn=</varname></term>
-
- <listitem><para>Takes a boolean argument. If
- <option>yes</option>, the system manager (PID 1) asks for
- confirmation when spawning processes. Defaults to
- <option>no</option>.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>systemd.show_status=</varname></term>
-
- <listitem><para>Takes a boolean argument or the constant
- <constant>auto</constant>. If <option>yes</option>, the
- systemd manager (PID 1) shows terse service status updates on
- the console during bootup. <constant>auto</constant> behaves
- like <option>false</option> until a service fails or there is
- a significant delay in boot. Defaults to
- <option>yes</option>, unless <option>quiet</option> is passed
- as kernel command line option, in which case it defaults to
- <constant>auto</constant>.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>systemd.log_target=</varname></term>
- <term><varname>systemd.log_level=</varname></term>
- <term><varname>systemd.log_color=</varname></term>
- <term><varname>systemd.log_location=</varname></term>
-
- <listitem><para>Controls log output, with the same effect as
- the <varname>$SYSTEMD_LOG_TARGET</varname>,
- <varname>$SYSTEMD_LOG_LEVEL</varname>,
- <varname>$SYSTEMD_LOG_COLOR</varname>,
- <varname>$SYSTEMD_LOG_LOCATION</varname> environment variables
- described above.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>systemd.default_standard_output=</varname></term>
- <term><varname>systemd.default_standard_error=</varname></term>
- <listitem><para>Controls default standard output and error
- output for services, with the same effect as the
- <option>--default-standard-output=</option> and
- <option>--default-standard-error=</option> command line
- arguments described above, respectively.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>systemd.setenv=</varname></term>
-
- <listitem><para>Takes a string argument in the form
- VARIABLE=VALUE. May be used to set default environment
- variables to add to forked child processes. May be used more
- than once to set multiple variables.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>systemd.machine_id=</varname></term>
-
- <listitem><para>Takes a 32 character hex value to be
- used for setting the machine-id. Intended mostly for
- network booting where the same machine-id is desired
- for every boot.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>quiet</varname></term>
-
- <listitem><para>Turn off status output at boot, much like
- <varname>systemd.show_status=false</varname> would. Note that
- this option is also read by the kernel itself and disables
- kernel log output. Passing this option hence turns off the
- usual output from both the system manager and the kernel.
- </para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>debug</varname></term>
-
- <listitem><para>Turn on debugging output. This is equivalent
- to <varname>systemd.log_level=debug</varname>. Note that this
- option is also read by the kernel itself and enables kernel
- debug output. Passing this option hence turns on the debug
- output from both the system manager and the
- kernel.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>emergency</varname></term>
- <term><varname>rd.emergency</varname></term>
- <term><varname>-b</varname></term>
-
- <listitem><para>Boot into emergency mode. This is equivalent
- to <varname>systemd.unit=emergency.target</varname> or
- <varname>rd.systemd.unit=emergency.target</varname>, respectively, and
- provided for compatibility reasons and to be easier to type.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>rescue</varname></term>
- <term><varname>rd.rescue</varname></term>
- <term><varname>single</varname></term>
- <term><varname>s</varname></term>
- <term><varname>S</varname></term>
- <term><varname>1</varname></term>
-
- <listitem><para>Boot into rescue mode. This is equivalent to
- <varname>systemd.unit=rescue.target</varname> or
- <varname>rd.systemd.unit=rescue.target</varname>, respectively, and
- provided for compatibility reasons and to be easier to type.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>2</varname></term>
- <term><varname>3</varname></term>
- <term><varname>4</varname></term>
- <term><varname>5</varname></term>
-
- <listitem><para>Boot into the specified legacy SysV runlevel.
- These are equivalent to
- <varname>systemd.unit=runlevel2.target</varname>,
- <varname>systemd.unit=runlevel3.target</varname>,
- <varname>systemd.unit=runlevel4.target</varname>, and
- <varname>systemd.unit=runlevel5.target</varname>,
- respectively, and provided for compatibility reasons and to be
- easier to type.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><varname>locale.LANG=</varname></term>
- <term><varname>locale.LANGUAGE=</varname></term>
- <term><varname>locale.LC_CTYPE=</varname></term>
- <term><varname>locale.LC_NUMERIC=</varname></term>
- <term><varname>locale.LC_TIME=</varname></term>
- <term><varname>locale.LC_COLLATE=</varname></term>
- <term><varname>locale.LC_MONETARY=</varname></term>
- <term><varname>locale.LC_MESSAGES=</varname></term>
- <term><varname>locale.LC_PAPER=</varname></term>
- <term><varname>locale.LC_NAME=</varname></term>
- <term><varname>locale.LC_ADDRESS=</varname></term>
- <term><varname>locale.LC_TELEPHONE=</varname></term>
- <term><varname>locale.LC_MEASUREMENT=</varname></term>
- <term><varname>locale.LC_IDENTIFICATION=</varname></term>
-
- <listitem><para>Set the system locale to use. This overrides
- the settings in <filename>/etc/locale.conf</filename>. For
- more information, see
- <citerefentry project='man-pages'><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
- and
- <citerefentry project='man-pages'><refentrytitle>locale</refentrytitle><manvolnum>7</manvolnum></citerefentry>.
- </para></listitem>
- </varlistentry>
- </variablelist>
-
- <para>For other kernel command line parameters understood by
- components of the core OS, please refer to
- <citerefentry><refentrytitle>kernel-command-line</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
- </refsect1>
-
- <refsect1>
- <title>Sockets and FIFOs</title>
-
- <variablelist>
- <varlistentry>
- <term><filename>/run/systemd/notify</filename></term>
-
- <listitem><para>Daemon status notification socket. This is an
- <constant>AF_UNIX</constant> datagram socket and is used to
- implement the daemon notification logic as implemented by
- <citerefentry><refentrytitle>sd_notify</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para></listitem>
-
- </varlistentry>
-
- <varlistentry>
- <term><filename>/run/systemd/private</filename></term>
-
- <listitem><para>Used internally as communication channel
- between
- <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
- and the systemd process. This is an
- <constant>AF_UNIX</constant> stream socket. This interface is
- private to systemd and should not be used in external
- projects.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><filename>/dev/initctl</filename></term>
-
- <listitem><para>Limited compatibility support for the SysV
- client interface, as implemented by the
- <filename>systemd-initctl.service</filename> unit. This is a
- named pipe in the file system. This interface is obsolete and
- should not be used in new applications.</para></listitem>
- </varlistentry>
- </variablelist>
- </refsect1>
-
- <refsect1>
- <title>See Also</title>
- <para>
- The <ulink url="http://www.freedesktop.org/wiki/Software/systemd/">systemd Homepage</ulink>,
- <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
- <citerefentry project='man-pages'><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>systemd-notify</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>daemon</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>sd-daemon</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
- <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>kernel-command-line</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
- <citerefentry project='man-pages'><refentrytitle>bootup</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
- </para>
- </refsect1>
-
-</refentry>