systemd/man/systemd.html
2015-02-17 11:22:16 +01:00

493 lines
55 KiB
HTML

<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>systemd</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><style>
a.headerlink {
color: #c60f0f;
font-size: 0.8em;
padding: 0 4px 0 4px;
text-decoration: none;
visibility: hidden;
}
a.headerlink:hover {
background-color: #c60f0f;
color: white;
}
h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, dt:hover > a.headerlink {
visibility: visible;
}
</style><a href="index.html">Index </a>·
<a href="systemd.directives.html">Directives </a>·
<a href="../python-systemd/index.html">Python </a>·
<a href="../libudev/index.html">libudev </a>·
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 219</span><hr><div class="refentry"><a name="systemd"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>systemd, init — systemd system and service manager</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">systemd [OPTIONS...]</code> </p></div><div class="cmdsynopsis"><p><code class="command">init [OPTIONS...] {COMMAND}</code> </p></div></div><div class="refsect1"><a name="idm139844740524032"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description"></a></h2><p>systemd is a system and service manager for 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.</p><p>For compatibility with SysV, if systemd is called as
<span class="command"><strong>init</strong></span> and a PID that is not 1, it will execute
<span class="command"><strong>telinit</strong></span> and pass all command line arguments
unmodified. That means <span class="command"><strong>init</strong></span> and
<span class="command"><strong>telinit</strong></span> are mostly equivalent when invoked from
normal login sessions. See
<a href="telinit.html"><span class="citerefentry"><span class="refentrytitle">telinit</span>(8)</span></a>
for more information.</p><p>When run as a system instance, systemd interprets the
configuration file <code class="filename">system.conf</code> and the files
in <code class="filename">system.conf.d</code> directories; when run as a
user instance, systemd interprets the configuration file
<code class="filename">user.conf</code> and the files in
<code class="filename">user.conf.d</code> directories. See
<a href="systemd-system.conf.html"><span class="citerefentry"><span class="refentrytitle">systemd-system.conf</span>(5)</span></a>
for more information.</p></div><div class="refsect1"><a name="idm139844740514384"></a><h2 id="Options">Options<a class="headerlink" title="Permalink to this headline" href="#Options"></a></h2><p>The following options are understood:</p><div class="variablelist"><dl class="variablelist"><dt id="--test"><span class="term"><code class="option">--test</code></span><a class="headerlink" title="Permalink to this term" href="#--test"></a></dt><dd><p>Determine startup sequence, dump it and exit.
This is an option useful for debugging only.</p></dd><dt id="--dump-configuration-items"><span class="term"><code class="option">--dump-configuration-items</code></span><a class="headerlink" title="Permalink to this term" href="#--dump-configuration-items"></a></dt><dd><p>Dump understood unit configuration items. This
outputs a terse but complete list of configuration items
understood in unit definition files.</p></dd><dt id="--unit="><span class="term"><code class="option">--unit=</code></span><a class="headerlink" title="Permalink to this term" href="#--unit="></a></dt><dd><p>Set default unit to activate on startup. If
not specified, defaults to
<code class="filename">default.target</code>.</p></dd><dt id="--system"><span class="term"><code class="option">--system</code>, </span><span class="term"><code class="option">--user</code></span><a class="headerlink" title="Permalink to this term" href="#--system"></a></dt><dd><p>For <code class="option">--system</code>, tell systemd to
run a system instance, even if the process ID is not 1, i.e.
systemd is not run as init process. <code class="option">--user</code>
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
<code class="option">--system</code> mode, but PID not 1. In practice,
passing <code class="option">--system</code> explicitly is only useful in
conjunction with <code class="option">--test</code>.</p></dd><dt id="--dump-core"><span class="term"><code class="option">--dump-core</code></span><a class="headerlink" title="Permalink to this term" href="#--dump-core"></a></dt><dd><p>Dump core on crash. This switch has no effect
when run as user instance.</p></dd><dt id="--crash-shell"><span class="term"><code class="option">--crash-shell</code></span><a class="headerlink" title="Permalink to this term" href="#--crash-shell"></a></dt><dd><p>Run shell on
crash. This switch has no effect when
run as user
instance.</p></dd><dt id="--confirm-spawn"><span class="term"><code class="option">--confirm-spawn</code></span><a class="headerlink" title="Permalink to this term" href="#--confirm-spawn"></a></dt><dd><p>Ask for confirmation when spawning processes.
This switch has no effect when run as user
instance.</p></dd><dt id="--show-status="><span class="term"><code class="option">--show-status=</code></span><a class="headerlink" title="Permalink to this term" href="#--show-status="></a></dt><dd><p>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 <code class="option">true</code>.</p></dd><dt id="--log-target="><span class="term"><code class="option">--log-target=</code></span><a class="headerlink" title="Permalink to this term" href="#--log-target="></a></dt><dd><p>Set log target. Argument must be one of
<code class="option">console</code>,
<code class="option">journal</code>,
<code class="option">kmsg</code>,
<code class="option">journal-or-kmsg</code>,
<code class="option">null</code>.</p></dd><dt id="--log-level="><span class="term"><code class="option">--log-level=</code></span><a class="headerlink" title="Permalink to this term" href="#--log-level="></a></dt><dd><p>Set log level. As
argument this accepts a numerical log
level or the well-known <a href="http://man7.org/linux/man-pages/man3/syslog.3.html"><span class="citerefentry"><span class="refentrytitle">syslog</span>(3)</span></a>
symbolic names (lowercase):
<code class="option">emerg</code>,
<code class="option">alert</code>,
<code class="option">crit</code>,
<code class="option">err</code>,
<code class="option">warning</code>,
<code class="option">notice</code>,
<code class="option">info</code>,
<code class="option">debug</code>.</p></dd><dt id="--log-color="><span class="term"><code class="option">--log-color=</code></span><a class="headerlink" title="Permalink to this term" href="#--log-color="></a></dt><dd><p>Highlight important log messages. Argument is
a boolean value. If the argument is omitted, it defaults to
<code class="option">true</code>.</p></dd><dt id="--log-location="><span class="term"><code class="option">--log-location=</code></span><a class="headerlink" title="Permalink to this term" href="#--log-location="></a></dt><dd><p>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
<code class="option">true</code>.</p></dd><dt id="--default-standard-output="><span class="term"><code class="option">--default-standard-output=</code>, </span><span class="term"><code class="option">--default-standard-error=</code></span><a class="headerlink" title="Permalink to this term" href="#--default-standard-output="></a></dt><dd><p>Sets the default output or error output for
all services and sockets, respectively. That is, controls the
default for <code class="option">StandardOutput=</code> and
<code class="option">StandardError=</code> (see
<a href="systemd.exec.html"><span class="citerefentry"><span class="refentrytitle">systemd.exec</span>(5)</span></a>
for details). Takes one of
<code class="option">inherit</code>,
<code class="option">null</code>,
<code class="option">tty</code>,
<code class="option">journal</code>,
<code class="option">journal+console</code>,
<code class="option">syslog</code>,
<code class="option">syslog+console</code>,
<code class="option">kmsg</code>,
<code class="option">kmsg+console</code>. If the
argument is omitted
<code class="option">--default-standard-output=</code> defaults to
<code class="option">journal</code> and
<code class="option">--default-standard-error=</code> to
<code class="option">inherit</code>.</p></dd><dt id="-h"><span class="term"><code class="option">-h</code>, </span><span class="term"><code class="option">--help</code></span><a class="headerlink" title="Permalink to this term" href="#-h"></a></dt><dd><p><a name="help-text"></a>Print a short help text and exit.
</p></dd><dt id="--version"><span class="term"><code class="option">--version</code></span><a class="headerlink" title="Permalink to this term" href="#--version"></a></dt><dd><p><a name="version-text"></a>Print a short version string and exit.</p></dd></dl></div></div><div class="refsect1"><a name="idm139844744180768"></a><h2 id="Concepts">Concepts<a class="headerlink" title="Permalink to this headline" href="#Concepts"></a></h2><p>systemd provides a dependency system between various
entities called "units" of 12 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
<a href="systemd.unit.html"><span class="citerefentry"><span class="refentrytitle">systemd.unit</span>(5)</span></a>,
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.</p><p>The following unit types are available:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Service units, which start and control daemons
and the processes they consist of. For details see
<a href="systemd.service.html"><span class="citerefentry"><span class="refentrytitle">systemd.service</span>(5)</span></a>.</p></li><li class="listitem"><p>Socket units, which encapsulate local IPC or
network sockets in the system, useful for socket-based
activation. For details about socket units see
<a href="systemd.socket.html"><span class="citerefentry"><span class="refentrytitle">systemd.socket</span>(5)</span></a>,
for details on socket-based activation and other forms of
activation, see
<a href="daemon.html"><span class="citerefentry"><span class="refentrytitle">daemon</span>(7)</span></a>.</p></li><li class="listitem"><p>Target units are useful to group units, or
provide well-known synchronization points during boot-up, see
<a href="systemd.target.html"><span class="citerefentry"><span class="refentrytitle">systemd.target</span>(5)</span></a>.</p></li><li class="listitem"><p>Device units expose kernel devices in systemd
and may be used to implement device-based activation. For
details see
<a href="systemd.device.html"><span class="citerefentry"><span class="refentrytitle">systemd.device</span>(5)</span></a>.</p></li><li class="listitem"><p>Mount units control mount points in the file
system, for details see
<a href="systemd.mount.html"><span class="citerefentry"><span class="refentrytitle">systemd.mount</span>(5)</span></a>.</p></li><li class="listitem"><p>Automount units provide automount capabilities,
for on-demand mounting of file systems as well as parallelized
boot-up. See
<a href="systemd.automount.html"><span class="citerefentry"><span class="refentrytitle">systemd.automount</span>(5)</span></a>.</p></li><li class="listitem"><p>Snapshot units can be used to temporarily save
the state of the set of systemd units, which later may be
restored by activating the saved snapshot unit. For more
information see
<a href="systemd.snapshot.html"><span class="citerefentry"><span class="refentrytitle">systemd.snapshot</span>(5)</span></a>.</p></li><li class="listitem"><p>Timer units are useful for triggering activation
of other units based on timers. You may find details in
<a href="systemd.timer.html"><span class="citerefentry"><span class="refentrytitle">systemd.timer</span>(5)</span></a>.</p></li><li class="listitem"><p>Swap units are very similar to mount units and
encapsulate memory swap partitions or files of the operating
system. They are described in
<a href="systemd.swap.html"><span class="citerefentry"><span class="refentrytitle">systemd.swap</span>(5)</span></a>.</p></li><li class="listitem"><p>Path units may be used to activate other
services when file system objects change or are modified. See
<a href="systemd.path.html"><span class="citerefentry"><span class="refentrytitle">systemd.path</span>(5)</span></a>.</p></li><li class="listitem"><p>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
<a href="systemd.slice.html"><span class="citerefentry"><span class="refentrytitle">systemd.slice</span>(5)</span></a>.</p></li><li class="listitem"><p>Scope units are similar to service units, but
manage foreign processes instead of starting them as well. See
<a href="systemd.scope.html"><span class="citerefentry"><span class="refentrytitle">systemd.scope</span>(5)</span></a>.</p></li></ol></div><p>Units are named as their configuration files. Some units
have special semantics. A detailed list is available in
<a href="systemd.special.html"><span class="citerefentry"><span class="refentrytitle">systemd.special</span>(7)</span></a>.</p><p>systemd knows various kinds of dependencies, including
positive and negative requirement dependencies (i.e.
<code class="varname">Requires=</code> and <code class="varname">Conflicts=</code>) as
well as ordering dependencies (<code class="varname">After=</code> and
<code class="varname">Before=</code>). NB: ordering and requirement
dependencies are orthogonal. If only a requirement dependency
exists between two units (e.g. <code class="filename">foo.service</code>
requires <code class="filename">bar.service</code>), but no ordering
dependency (e.g. <code class="filename">foo.service</code> after
<code class="filename">bar.service</code>) 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.</p><p>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.</p><p>On boot systemd activates the target unit
<code class="filename">default.target</code> 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 <code class="filename">graphical.target</code> (for fully-featured
boots into the UI) or <code class="filename">multi-user.target</code> (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
<a href="systemd.special.html"><span class="citerefentry"><span class="refentrytitle">systemd.special</span>(7)</span></a>
for details about these target units.</p><p>Processes systemd spawns are placed in individual Linux
control groups named after the unit which they belong to in the
private systemd hierarchy. (see <a class="ulink" href="https://www.kernel.org/doc/Documentation/cgroups/cgroups.txt" target="_top">cgroups.txt</a>
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
<code class="filename">/sys/fs/cgroup/systemd/</code>), or in tools such as
<a href="http://man7.org/linux/man-pages/man1/ps.1.html"><span class="citerefentry"><span class="refentrytitle">ps</span>(1)</span></a>
(<span class="command"><strong>ps xawf -eo pid,user,cgroup,args</strong></span> is
particularly useful to list all processes and the systemd units
they belong to.).</p><p>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
<code class="filename">/dev/initctl</code> interface is provided, and
compatibility implementations of the various SysV client tools are
available. In addition to that, various established Unix
functionality such as <code class="filename">/etc/fstab</code> or the
<code class="filename">utmp</code> database are supported.</p><p>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.</p><p>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
<code class="filename">/sys</code> or <code class="filename">/proc</code>.</p><p>For more information about the concepts and
ideas behind systemd, please refer to the
<a class="ulink" href="http://0pointer.de/blog/projects/systemd.html" target="_top">Original Design Document</a>.</p><p>Note that some but not all interfaces provided
by systemd are covered by the
<a class="ulink" href="http://www.freedesktop.org/wiki/Software/systemd/InterfaceStabilityPromise" target="_top">Interface
Stability Promise</a>.</p><p>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 the
<a class="ulink" href="http://www.freedesktop.org/wiki/Software/systemd/Generators" target="_top">Generators Specification</a>.</p><p>Systems which invoke systemd in a container or initrd
environment should implement the
<a class="ulink" href="http://www.freedesktop.org/wiki/Software/systemd/ContainerInterface" target="_top">Container Interface</a> or
<a class="ulink" href="http://www.freedesktop.org/wiki/Software/systemd/InitrdInterface" target="_top">initrd Interface</a>
specifications, respectively.</p></div><div class="refsect1"><a name="idm139844739448288"></a><h2 id="Directories">Directories<a class="headerlink" title="Permalink to this headline" href="#Directories"></a></h2><div class="variablelist"><dl class="variablelist"><dt id="System unit directories"><span class="term">System unit directories</span><a class="headerlink" title="Permalink to this term" href="#System%20unit%20directories"></a></dt><dd><p>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 <span class="command"><strong>pkg-config systemd
--variable=systemdsystemunitdir</strong></span>. Other directories
checked are <code class="filename">/usr/local/lib/systemd/system</code>
and <code class="filename">/usr/lib/systemd/system</code>. User
configuration always takes precedence. <span class="command"><strong>pkg-config
systemd --variable=systemdsystemconfdir</strong></span> returns the
path of the system configuration directory. Packages should
alter the content of these directories only with the
<span class="command"><strong>enable</strong></span> and <span class="command"><strong>disable</strong></span>
commands of the
<a href="systemctl.html"><span class="citerefentry"><span class="refentrytitle">systemctl</span>(1)</span></a>
tool. Full list of directories is provided in
<a href="systemd.unit.html"><span class="citerefentry"><span class="refentrytitle">systemd.unit</span>(5)</span></a>.
</p></dd></dl></div><div class="variablelist"><dl class="variablelist"><dt id="User unit directories"><span class="term">User unit directories</span><a class="headerlink" title="Permalink to this term" href="#User%20unit%20directories"></a></dt><dd><p>Similar rules apply for the user unit
directories. However, here the
<a class="ulink" href="http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html" target="_top">XDG
Base Directory specification</a> is followed to find
units. Applications should place their unit files in the
directory returned by <span class="command"><strong>pkg-config systemd
--variable=systemduserunitdir</strong></span>. Global configuration
is done in the directory reported by <span class="command"><strong>pkg-config
systemd --variable=systemduserconfdir</strong></span>. The
<span class="command"><strong>enable</strong></span> and <span class="command"><strong>disable</strong></span>
commands of the
<a href="systemctl.html"><span class="citerefentry"><span class="refentrytitle">systemctl</span>(1)</span></a>
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
<a href="systemd.unit.html"><span class="citerefentry"><span class="refentrytitle">systemd.unit</span>(5)</span></a>.
</p></dd></dl></div><div class="variablelist"><dl class="variablelist"><dt id="SysV init scripts directory"><span class="term">SysV init scripts directory</span><a class="headerlink" title="Permalink to this term" href="#SysV%20init%20scripts%20directory"></a></dt><dd><p>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
<code class="filename">.service</code> suffix
removed).</p></dd></dl></div><div class="variablelist"><dl class="variablelist"><dt id="SysV runlevel link farm directory"><span class="term">SysV runlevel link farm directory</span><a class="headerlink" title="Permalink to this term" href="#SysV%20runlevel%20link%20farm%20directory"></a></dt><dd><p>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.</p></dd></dl></div></div><div class="refsect1"><a name="idm139844739428496"></a><h2 id="Signals">Signals<a class="headerlink" title="Permalink to this headline" href="#Signals"></a></h2><div class="variablelist"><dl class="variablelist"><dt id="SIGTERM"><span class="term"><code class="constant">SIGTERM</code></span><a class="headerlink" title="Permalink to this term" href="#SIGTERM"></a></dt><dd><p>Upon receiving this signal the systemd system
manager serializes its state, reexecutes itself and
deserializes the saved state again. This is mostly equivalent
to <span class="command"><strong>systemctl daemon-reexec</strong></span>.</p><p>systemd user managers will start the
<code class="filename">exit.target</code> unit when this signal is
received. This is mostly equivalent to <span class="command"><strong>systemctl
--user start exit.target</strong></span>.</p></dd><dt id="SIGINT"><span class="term"><code class="constant">SIGINT</code></span><a class="headerlink" title="Permalink to this term" href="#SIGINT"></a></dt><dd><p>Upon receiving this signal the systemd system
manager will start the
<code class="filename">ctrl-alt-del.target</code> unit. This is mostly
equivalent to <span class="command"><strong>systemctl start
ctl-alt-del.target</strong></span>. If this signal is received more
often 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.</p><p>systemd user managers treat this signal the same way as
<code class="constant">SIGTERM</code>.</p></dd><dt id="SIGWINCH"><span class="term"><code class="constant">SIGWINCH</code></span><a class="headerlink" title="Permalink to this term" href="#SIGWINCH"></a></dt><dd><p>When this signal is received the systemd
system manager will start the
<code class="filename">kbrequest.target</code> unit. This is mostly
equivalent to <span class="command"><strong>systemctl start
kbrequest.target</strong></span>.</p><p>This signal is ignored by systemd user
managers.</p></dd><dt id="SIGPWR"><span class="term"><code class="constant">SIGPWR</code></span><a class="headerlink" title="Permalink to this term" href="#SIGPWR"></a></dt><dd><p>When this signal is received the systemd
manager will start the <code class="filename">sigpwr.target</code>
unit. This is mostly equivalent to <span class="command"><strong>systemctl start
sigpwr.target</strong></span>.</p></dd><dt id="SIGUSR1"><span class="term"><code class="constant">SIGUSR1</code></span><a class="headerlink" title="Permalink to this term" href="#SIGUSR1"></a></dt><dd><p>When this signal is received the systemd
manager will try to reconnect to the D-Bus
bus.</p></dd><dt id="SIGUSR2"><span class="term"><code class="constant">SIGUSR2</code></span><a class="headerlink" title="Permalink to this term" href="#SIGUSR2"></a></dt><dd><p>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
<span class="command"><strong>systemd-analyze dump</strong></span>.</p></dd><dt id="SIGHUP"><span class="term"><code class="constant">SIGHUP</code></span><a class="headerlink" title="Permalink to this term" href="#SIGHUP"></a></dt><dd><p>Reloads the complete daemon configuration.
This is mostly equivalent to <span class="command"><strong>systemctl
daemon-reload</strong></span>.</p></dd><dt id="SIGRTMIN+0"><span class="term"><code class="constant">SIGRTMIN+0</code></span><a class="headerlink" title="Permalink to this term" href="#SIGRTMIN+0"></a></dt><dd><p>Enters default mode, starts the
<code class="filename">default.target</code> unit. This is mostly
equivalent to <span class="command"><strong>systemctl start
default.target</strong></span>.</p></dd><dt id="SIGRTMIN+1"><span class="term"><code class="constant">SIGRTMIN+1</code></span><a class="headerlink" title="Permalink to this term" href="#SIGRTMIN+1"></a></dt><dd><p>Enters rescue mode, starts the
<code class="filename">rescue.target</code> unit. This is mostly
equivalent to <span class="command"><strong>systemctl isolate
rescue.target</strong></span>.</p></dd><dt id="SIGRTMIN+2"><span class="term"><code class="constant">SIGRTMIN+2</code></span><a class="headerlink" title="Permalink to this term" href="#SIGRTMIN+2"></a></dt><dd><p>Enters emergency mode, starts the
<code class="filename">emergency.service</code> unit. This is mostly
equivalent to <span class="command"><strong>systemctl isolate
emergency.service</strong></span>.</p></dd><dt id="SIGRTMIN+3"><span class="term"><code class="constant">SIGRTMIN+3</code></span><a class="headerlink" title="Permalink to this term" href="#SIGRTMIN+3"></a></dt><dd><p>Halts the machine, starts the
<code class="filename">halt.target</code> unit. This is mostly
equivalent to <span class="command"><strong>systemctl start
halt.target</strong></span>.</p></dd><dt id="SIGRTMIN+4"><span class="term"><code class="constant">SIGRTMIN+4</code></span><a class="headerlink" title="Permalink to this term" href="#SIGRTMIN+4"></a></dt><dd><p>Powers off the machine, starts the
<code class="filename">poweroff.target</code> unit. This is mostly
equivalent to <span class="command"><strong>systemctl start
poweroff.target</strong></span>.</p></dd><dt id="SIGRTMIN+5"><span class="term"><code class="constant">SIGRTMIN+5</code></span><a class="headerlink" title="Permalink to this term" href="#SIGRTMIN+5"></a></dt><dd><p>Reboots the machine, starts the
<code class="filename">reboot.target</code> unit. This is mostly
equivalent to <span class="command"><strong>systemctl start
reboot.target</strong></span>.</p></dd><dt id="SIGRTMIN+6"><span class="term"><code class="constant">SIGRTMIN+6</code></span><a class="headerlink" title="Permalink to this term" href="#SIGRTMIN+6"></a></dt><dd><p>Reboots the machine via kexec, starts the
<code class="filename">kexec.target</code> unit. This is mostly
equivalent to <span class="command"><strong>systemctl start
kexec.target</strong></span>.</p></dd><dt id="SIGRTMIN+13"><span class="term"><code class="constant">SIGRTMIN+13</code></span><a class="headerlink" title="Permalink to this term" href="#SIGRTMIN+13"></a></dt><dd><p>Immediately halts the machine.</p></dd><dt id="SIGRTMIN+14"><span class="term"><code class="constant">SIGRTMIN+14</code></span><a class="headerlink" title="Permalink to this term" href="#SIGRTMIN+14"></a></dt><dd><p>Immediately powers off the machine.</p></dd><dt id="SIGRTMIN+15"><span class="term"><code class="constant">SIGRTMIN+15</code></span><a class="headerlink" title="Permalink to this term" href="#SIGRTMIN+15"></a></dt><dd><p>Immediately reboots the machine.</p></dd><dt id="SIGRTMIN+16"><span class="term"><code class="constant">SIGRTMIN+16</code></span><a class="headerlink" title="Permalink to this term" href="#SIGRTMIN+16"></a></dt><dd><p>Immediately reboots the machine with kexec.</p></dd><dt id="SIGRTMIN+20"><span class="term"><code class="constant">SIGRTMIN+20</code></span><a class="headerlink" title="Permalink to this term" href="#SIGRTMIN+20"></a></dt><dd><p>Enables display of status messages on the
console, as controlled via
<code class="varname">systemd.show_status=1</code> on the kernel command
line.</p></dd><dt id="SIGRTMIN+21"><span class="term"><code class="constant">SIGRTMIN+21</code></span><a class="headerlink" title="Permalink to this term" href="#SIGRTMIN+21"></a></dt><dd><p>Disables display of
status messages on the console, as
controlled via
<code class="varname">systemd.show_status=0</code>
on the kernel command
line.</p></dd><dt id="SIGRTMIN+22"><span class="term"><code class="constant">SIGRTMIN+22</code>, </span><span class="term"><code class="constant">SIGRTMIN+23</code></span><a class="headerlink" title="Permalink to this term" href="#SIGRTMIN+22"></a></dt><dd><p>Sets the log level to "<code class="literal">debug</code>"
(or "<code class="literal">info</code>" on
<code class="constant">SIGRTMIN+23</code>), as controlled via
<code class="varname">systemd.log_level=debug</code> (or
<code class="varname">systemd.log_level=info</code> on
<code class="constant">SIGRTMIN+23</code>) on the kernel command
line.</p></dd><dt id="SIGRTMIN+24"><span class="term"><code class="constant">SIGRTMIN+24</code></span><a class="headerlink" title="Permalink to this term" href="#SIGRTMIN+24"></a></dt><dd><p>Immediately exits the manager (only available
for --user instances).</p></dd><dt id="SIGRTMIN+26"><span class="term"><code class="constant">SIGRTMIN+26</code>, </span><span class="term"><code class="constant">SIGRTMIN+27</code>, </span><span class="term"><code class="constant">SIGRTMIN+28</code></span><a class="headerlink" title="Permalink to this term" href="#SIGRTMIN+26"></a></dt><dd><p>Sets the log level to
"<code class="literal">journal-or-kmsg</code>" (or
"<code class="literal">console</code>" on
<code class="constant">SIGRTMIN+27</code>, "<code class="literal">kmsg</code>" on
<code class="constant">SIGRTMIN+28</code>), as controlled via
<code class="varname">systemd.log_target=journal-or-kmsg</code> (or
<code class="varname">systemd.log_target=console</code> on
<code class="constant">SIGRTMIN+27</code> or
<code class="varname">systemd.log_target=kmsg</code> on
<code class="constant">SIGRTMIN+28</code>) on the kernel command
line.</p></dd></dl></div></div><div class="refsect1"><a name="idm139844739366368"></a><h2 id="Environment">Environment<a class="headerlink" title="Permalink to this headline" href="#Environment"></a></h2><div class="variablelist"><dl class="variablelist"><dt id="$SYSTEMD_LOG_LEVEL"><span class="term"><code class="varname">$SYSTEMD_LOG_LEVEL</code></span><a class="headerlink" title="Permalink to this term" href="#%24SYSTEMD_LOG_LEVEL"></a></dt><dd><p>systemd reads the log level from this
environment variable. This can be overridden with
<code class="option">--log-level=</code>.</p></dd><dt id="$SYSTEMD_LOG_TARGET"><span class="term"><code class="varname">$SYSTEMD_LOG_TARGET</code></span><a class="headerlink" title="Permalink to this term" href="#%24SYSTEMD_LOG_TARGET"></a></dt><dd><p>systemd reads the log target from this
environment variable. This can be overridden with
<code class="option">--log-target=</code>.</p></dd><dt id="$SYSTEMD_LOG_COLOR"><span class="term"><code class="varname">$SYSTEMD_LOG_COLOR</code></span><a class="headerlink" title="Permalink to this term" href="#%24SYSTEMD_LOG_COLOR"></a></dt><dd><p>Controls whether systemd highlights important
log messages. This can be overridden with
<code class="option">--log-color=</code>.</p></dd><dt id="$SYSTEMD_LOG_LOCATION"><span class="term"><code class="varname">$SYSTEMD_LOG_LOCATION</code></span><a class="headerlink" title="Permalink to this term" href="#%24SYSTEMD_LOG_LOCATION"></a></dt><dd><p>Controls whether systemd prints the code
location along with log messages. This can be overridden with
<code class="option">--log-location=</code>.</p></dd><dt id="$XDG_CONFIG_HOME"><span class="term"><code class="varname">$XDG_CONFIG_HOME</code>, </span><span class="term"><code class="varname">$XDG_CONFIG_DIRS</code>, </span><span class="term"><code class="varname">$XDG_DATA_HOME</code>, </span><span class="term"><code class="varname">$XDG_DATA_DIRS</code></span><a class="headerlink" title="Permalink to this term" href="#%24XDG_CONFIG_HOME"></a></dt><dd><p>The systemd user manager uses these variables
in accordance to the <a class="ulink" href="http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html" target="_top">XDG
Base Directory specification</a> to find its
configuration.</p></dd><dt id="$SYSTEMD_UNIT_PATH"><span class="term"><code class="varname">$SYSTEMD_UNIT_PATH</code></span><a class="headerlink" title="Permalink to this term" href="#%24SYSTEMD_UNIT_PATH"></a></dt><dd><p>Controls where systemd looks for unit
files.</p></dd><dt id="$SYSTEMD_SYSVINIT_PATH"><span class="term"><code class="varname">$SYSTEMD_SYSVINIT_PATH</code></span><a class="headerlink" title="Permalink to this term" href="#%24SYSTEMD_SYSVINIT_PATH"></a></dt><dd><p>Controls where systemd looks for SysV init
scripts.</p></dd><dt id="$SYSTEMD_SYSVRCND_PATH"><span class="term"><code class="varname">$SYSTEMD_SYSVRCND_PATH</code></span><a class="headerlink" title="Permalink to this term" href="#%24SYSTEMD_SYSVRCND_PATH"></a></dt><dd><p>Controls where systemd looks for SysV init
script runlevel link farms.</p></dd><dt id="$LISTEN_PID"><span class="term"><code class="varname">$LISTEN_PID</code>, </span><span class="term"><code class="varname">$LISTEN_FDS</code></span><a class="headerlink" title="Permalink to this term" href="#%24LISTEN_PID"></a></dt><dd><p>Set by systemd for supervised processes during
socket-based activation. See
<a href="sd_listen_fds.html"><span class="citerefentry"><span class="refentrytitle">sd_listen_fds</span>(3)</span></a>
for more information. </p></dd><dt id="$NOTIFY_SOCKET"><span class="term"><code class="varname">$NOTIFY_SOCKET</code></span><a class="headerlink" title="Permalink to this term" href="#%24NOTIFY_SOCKET"></a></dt><dd><p>Set by systemd for supervised processes for
status and start-up completion notification. See
<a href="sd_notify.html"><span class="citerefentry"><span class="refentrytitle">sd_notify</span>(3)</span></a>
for more information. </p></dd></dl></div></div><div class="refsect1"><a name="idm139844739344048"></a><h2 id="Kernel Command Line">Kernel Command Line<a class="headerlink" title="Permalink to this headline" href="#Kernel%20Command%20Line"></a></h2><p>When run as system instance systemd parses a number of
kernel command line arguments<a href="#ftn.idm139844739343040" class="footnote" name="idm139844739343040"><sup class="footnote">[1]</sup></a>:</p><div class="variablelist"><dl class="variablelist"><dt id="systemd.unit="><span class="term"><code class="varname">systemd.unit=</code>, </span><span class="term"><code class="varname">rd.systemd.unit=</code></span><a class="headerlink" title="Permalink to this term" href="#systemd.unit="></a></dt><dd><p>Overrides the unit to activate on boot.
Defaults to <code class="filename">default.target</code>. This may be
used to temporarily boot into a different boot unit, for
example <code class="filename">rescue.target</code> or
<code class="filename">emergency.service</code>. See
<a href="systemd.special.html"><span class="citerefentry"><span class="refentrytitle">systemd.special</span>(7)</span></a>
for details about these units. The option prefixed with
"<code class="literal">rd.</code>" is honored only in the initial RAM disk
(initrd), while the one that is not prefixed only in the main
system.</p></dd><dt id="systemd.dump_core="><span class="term"><code class="varname">systemd.dump_core=</code></span><a class="headerlink" title="Permalink to this term" href="#systemd.dump_core="></a></dt><dd><p>Takes a boolean argument. If
<code class="option">true</code>, systemd dumps core when it crashes.
Otherwise, no core dump is created. Defaults to
<code class="option">true</code>.</p></dd><dt id="systemd.crash_shell="><span class="term"><code class="varname">systemd.crash_shell=</code></span><a class="headerlink" title="Permalink to this term" href="#systemd.crash_shell="></a></dt><dd><p>Takes a boolean argument. If
<code class="option">true</code>, systemd spawns a shell when it crashes.
Otherwise, no shell is spawned. Defaults to
<code class="option">false</code>, for security reasons, as the shell is
not protected by any password
authentication.</p></dd><dt id="systemd.crash_chvt="><span class="term"><code class="varname">systemd.crash_chvt=</code></span><a class="headerlink" title="Permalink to this term" href="#systemd.crash_chvt="></a></dt><dd><p>Takes an integer argument. If positive systemd
activates the specified virtual terminal when it crashes.
Defaults to <code class="constant">-1</code>.</p></dd><dt id="systemd.confirm_spawn="><span class="term"><code class="varname">systemd.confirm_spawn=</code></span><a class="headerlink" title="Permalink to this term" href="#systemd.confirm_spawn="></a></dt><dd><p>Takes a boolean argument. If
<code class="option">true</code>, asks for confirmation when spawning
processes. Defaults to
<code class="option">false</code>.</p></dd><dt id="systemd.show_status="><span class="term"><code class="varname">systemd.show_status=</code></span><a class="headerlink" title="Permalink to this term" href="#systemd.show_status="></a></dt><dd><p>Takes a boolean argument or the constant
<code class="constant">auto</code>. If <code class="option">true</code>, shows
terse service status updates on the console during bootup.
<code class="constant">auto</code> behaves like <code class="option">false</code>
until a service fails or there is a significant delay in boot.
Defaults to <code class="option">true</code>, unless
<code class="option">quiet</code> is passed as kernel command line option
in which case it defaults to
<code class="constant">auto</code>.</p></dd><dt id="systemd.log_target="><span class="term"><code class="varname">systemd.log_target=</code>, </span><span class="term"><code class="varname">systemd.log_level=</code>, </span><span class="term"><code class="varname">systemd.log_color=</code>, </span><span class="term"><code class="varname">systemd.log_location=</code></span><a class="headerlink" title="Permalink to this term" href="#systemd.log_target="></a></dt><dd><p>Controls log output, with the same effect as
the <code class="varname">$SYSTEMD_LOG_TARGET</code>,
<code class="varname">$SYSTEMD_LOG_LEVEL</code>,
<code class="varname">$SYSTEMD_LOG_COLOR</code>,
<code class="varname">$SYSTEMD_LOG_LOCATION</code> environment variables
described above.</p></dd><dt id="systemd.default_standard_output="><span class="term"><code class="varname">systemd.default_standard_output=</code>, </span><span class="term"><code class="varname">systemd.default_standard_error=</code></span><a class="headerlink" title="Permalink to this term" href="#systemd.default_standard_output="></a></dt><dd><p>Controls default standard output and error
output for services, with the same effect as the
<code class="option">--default-standard-output=</code> and
<code class="option">--default-standard-error=</code> command line
arguments described above, respectively.</p></dd><dt id="systemd.setenv="><span class="term"><code class="varname">systemd.setenv=</code></span><a class="headerlink" title="Permalink to this term" href="#systemd.setenv="></a></dt><dd><p>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.</p></dd><dt id="quiet"><span class="term"><code class="varname">quiet</code></span><a class="headerlink" title="Permalink to this term" href="#quiet"></a></dt><dd><p>Turn off status output at boot, much like
<code class="varname">systemd.show_status=false</code> 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.
</p></dd><dt id="debug"><span class="term"><code class="varname">debug</code></span><a class="headerlink" title="Permalink to this term" href="#debug"></a></dt><dd><p>Turn on debugging output. This is equivalent
to <code class="varname">systemd.log_level=debug</code>. 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.</p></dd><dt id="emergency"><span class="term"><code class="varname">emergency</code>, </span><span class="term"><code class="varname">-b</code></span><a class="headerlink" title="Permalink to this term" href="#emergency"></a></dt><dd><p>Boot into emergency mode. This is equivalent
to <code class="varname">systemd.unit=emergency.target</code> and
provided for compatibility reasons and to be easier to
type.</p></dd><dt id="rescue"><span class="term"><code class="varname">rescue</code>, </span><span class="term"><code class="varname">single</code>, </span><span class="term"><code class="varname">s</code>, </span><span class="term"><code class="varname">S</code>, </span><span class="term"><code class="varname">1</code></span><a class="headerlink" title="Permalink to this term" href="#rescue"></a></dt><dd><p>Boot into rescue mode. This is equivalent to
<code class="varname">systemd.unit=rescue.target</code> and provided for
compatibility reasons and to be easier to
type.</p></dd><dt id="2"><span class="term"><code class="varname">2</code>, </span><span class="term"><code class="varname">3</code>, </span><span class="term"><code class="varname">4</code>, </span><span class="term"><code class="varname">5</code></span><a class="headerlink" title="Permalink to this term" href="#2"></a></dt><dd><p>Boot into the specified legacy SysV runlevel.
These are equivalent to
<code class="varname">systemd.unit=runlevel2.target</code>,
<code class="varname">systemd.unit=runlevel3.target</code>,
<code class="varname">systemd.unit=runlevel4.target</code>, and
<code class="varname">systemd.unit=runlevel5.target</code>,
respectively, and provided for compatibility reasons and to be
easier to type.</p></dd><dt id="locale.LANG="><span class="term"><code class="varname">locale.LANG=</code>, </span><span class="term"><code class="varname">locale.LANGUAGE=</code>, </span><span class="term"><code class="varname">locale.LC_CTYPE=</code>, </span><span class="term"><code class="varname">locale.LC_NUMERIC=</code>, </span><span class="term"><code class="varname">locale.LC_TIME=</code>, </span><span class="term"><code class="varname">locale.LC_COLLATE=</code>, </span><span class="term"><code class="varname">locale.LC_MONETARY=</code>, </span><span class="term"><code class="varname">locale.LC_MESSAGES=</code>, </span><span class="term"><code class="varname">locale.LC_PAPER=</code>, </span><span class="term"><code class="varname">locale.LC_NAME=</code>, </span><span class="term"><code class="varname">locale.LC_ADDRESS=</code>, </span><span class="term"><code class="varname">locale.LC_TELEPHONE=</code>, </span><span class="term"><code class="varname">locale.LC_MEASUREMENT=</code>, </span><span class="term"><code class="varname">locale.LC_IDENTIFICATION=</code></span><a class="headerlink" title="Permalink to this term" href="#locale.LANG="></a></dt><dd><p>Set the system locale to use. This overrides
the settings in <code class="filename">/etc/locale.conf</code>. For
more information see
<a href="locale.conf.html"><span class="citerefentry"><span class="refentrytitle">locale.conf</span>(5)</span></a>
and
<a href="locale.html"><span class="citerefentry"><span class="refentrytitle">locale</span>(7)</span></a>.
</p></dd></dl></div><p>For other kernel command line parameters understood by
components of the core OS, please refer to
<a href="kernel-command-line.html"><span class="citerefentry"><span class="refentrytitle">kernel-command-line</span>(7)</span></a>.</p></div><div class="refsect1"><a name="idm139844739285904"></a><h2 id="Sockets and FIFOs">Sockets and FIFOs<a class="headerlink" title="Permalink to this headline" href="#Sockets%20and%20FIFOs"></a></h2><div class="variablelist"><dl class="variablelist"><dt id="/run/systemd/notify"><span class="term"><code class="filename">/run/systemd/notify</code></span><a class="headerlink" title="Permalink to this term" href="#/run/systemd/notify"></a></dt><dd><p>Daemon status notification socket. This is an
<code class="constant">AF_UNIX</code> datagram socket and is used to
implement the daemon notification logic as implemented by
<a href="sd_notify.html"><span class="citerefentry"><span class="refentrytitle">sd_notify</span>(3)</span></a>.</p></dd><dt id="/run/systemd/shutdownd"><span class="term"><code class="filename">/run/systemd/shutdownd</code></span><a class="headerlink" title="Permalink to this term" href="#/run/systemd/shutdownd"></a></dt><dd><p>Used internally by the
<a href="shutdown.html"><span class="citerefentry"><span class="refentrytitle">shutdown</span>(8)</span></a>
tool to implement delayed shutdowns. This is an
<code class="constant">AF_UNIX</code> datagram
socket.</p></dd><dt id="/run/systemd/private"><span class="term"><code class="filename">/run/systemd/private</code></span><a class="headerlink" title="Permalink to this term" href="#/run/systemd/private"></a></dt><dd><p>Used internally as communication channel
between
<a href="systemctl.html"><span class="citerefentry"><span class="refentrytitle">systemctl</span>(1)</span></a>
and the systemd process. This is an
<code class="constant">AF_UNIX</code> stream socket. This interface is
private to systemd and should not be used in external
projects.</p></dd><dt id="/dev/initctl"><span class="term"><code class="filename">/dev/initctl</code></span><a class="headerlink" title="Permalink to this term" href="#/dev/initctl"></a></dt><dd><p>Limited compatibility support for the SysV
client interface, as implemented by the
<code class="filename">systemd-initctl.service</code> unit. This is a
named pipe in the file system. This interface is obsolete and
should not be used in new applications.</p></dd></dl></div></div><div class="refsect1"><a name="idm139844739273408"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also"></a></h2><p>
The <a class="ulink" href="http://www.freedesktop.org/wiki/Software/systemd/" target="_top">systemd Homepage</a>,
<a href="systemd-system.conf.html"><span class="citerefentry"><span class="refentrytitle">systemd-system.conf</span>(5)</span></a>,
<a href="locale.conf.html"><span class="citerefentry"><span class="refentrytitle">locale.conf</span>(5)</span></a>,
<a href="systemctl.html"><span class="citerefentry"><span class="refentrytitle">systemctl</span>(1)</span></a>,
<a href="journalctl.html"><span class="citerefentry"><span class="refentrytitle">journalctl</span>(1)</span></a>,
<a href="systemd-notify.html"><span class="citerefentry"><span class="refentrytitle">systemd-notify</span>(1)</span></a>,
<a href="daemon.html"><span class="citerefentry"><span class="refentrytitle">daemon</span>(7)</span></a>,
<a href="sd-daemon.html"><span class="citerefentry"><span class="refentrytitle">sd-daemon</span>(3)</span></a>,
<a href="systemd.unit.html"><span class="citerefentry"><span class="refentrytitle">systemd.unit</span>(5)</span></a>,
<a href="systemd.special.html"><span class="citerefentry"><span class="refentrytitle">systemd.special</span>(5)</span></a>,
<a href="http://linux.die.net/man/1/pkg-config"><span class="citerefentry"><span class="refentrytitle">pkg-config</span>(1)</span></a>,
<a href="kernel-command-line.html"><span class="citerefentry"><span class="refentrytitle">kernel-command-line</span>(7)</span></a>,
<a href="http://man7.org/linux/man-pages/man7/bootup.7.html"><span class="citerefentry"><span class="refentrytitle">bootup</span>(7)</span></a>,
<a href="systemd.directives.html"><span class="citerefentry"><span class="refentrytitle">systemd.directives</span>(7)</span></a>
</p></div><div class="footnotes"><br><hr style="width:100; text-align:left;margin-left: 0"><div id="ftn.idm139844739343040" class="footnote"><p><a href="#idm139844739343040" class="para"><sup class="para">[1] </sup></a>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 <code class="filename">/proc/cmdline</code>
instead.</p></div></div></div></body></html>