configuration files or parameters
passed on the kernel command line. For details, see
systemd.generator(7).
The D-Bus API of systemd is described in org.freedesktop.systemd1(5) and
org.freedesktop.LogControl1(5).
Systems which invoke systemd in a container or initrd environment should
implement the Container Interface[4] or initrd Interface[5]
specifications, respectively.
DIRECTORIES
System unit directories
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 pkg-config systemd
--variable=systemdsystemunitdir. Other directories checked are
/usr/local/lib/systemd/system and /lib/systemd/system. User
configuration always takes precedence. pkg-config systemd
--variable=systemdsystemconfdir returns the path of the system
configuration directory. Packages should alter the content of these
directories only with the enable and disable commands of the
systemctl(1) tool. Full list of directories is provided in
systemd.unit(5).
User unit directories
Similar rules apply for the user unit directories. However, here the
XDG Base Directory specification[6] is followed to find units.
Applications should place their unit files in the directory returned
by pkg-config systemd --variable=systemduserunitdir. Global
configuration is done in the directory reported by pkg-config
systemd --variable=systemduserconfdir. The enable and disable
commands of the systemctl(1) 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 systemd.unit(5).
SysV init scripts directory
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 .service suffix removed).
SysV runlevel link farm directory
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.
SIGNALS
SIGTERM
Upon receiving this signal the systemd system manager serializes its
state, reexecutes itself and deserializes the saved state again.
This is mostly equivalent to systemctl daemon-reexec.
systemd user managers will start the exit.target unit when this
signal is received. This is mostly equivalent to systemctl --user
start exit.target --job-mode=replace-irreversibly.
SIGINT
Upon receiving this signal the systemd system manager will start the
ctrl-alt-del.target unit. This is mostly equivalent to systemctl
start ctrl-alt-del.target --job-mode=replace-irreversibly. 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 2 seconds is a relatively safe way
to trigger an immediate reboot.
systemd user managers treat this signal the same way as SIGTERM.
SIGWINCH
When this signal is received the systemd system manager will start
the kbrequest.target unit. This is mostly equivalent to systemctl
start kbrequest.target.