Home Explore Blog CI



man-pages

5th chunk of `systemd.man`
9e2ef7d5a01779f885d709870e3f67855bd5625ad8e9215c0000000100000fa0
 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.

   

Title: Systemd Directories, Signals, and Behavior
Summary
Systemd dynamically generates units and exposes a D-Bus API. It requires specific interfaces for containers/initrds. System unit files are read from specific directories, with user configurations taking precedence. Packages should use systemctl to modify these directories. User unit directories follow the XDG Base Directory specification. Systemd also supports SysV init scripts. Upon receiving SIGTERM, the systemd system manager serializes and re-executes its state. SIGINT triggers ctrl-alt-del.target or an immediate reboot if received rapidly. SIGWINCH starts the kbrequest.target unit.