Glossary
Active state — where a unit is in its life:
active, inactive, failed, activating,
deactivating. systemctl is-active reports it (exit
code 3 when not active).
daemon-reload — tells systemd to re-read all unit files from disk. Required after any edit; does not restart anything by itself.
Drop-in — a small override file in
/etc/systemd/system/<unit>.d/*.conf that amends a unit
without editing the vendor's copy. systemctl edit
creates them.
Enable / disable — whether a unit starts at boot:
enable creates a symlink from a target's .wants/
directory to the unit. Independent of start/stop (now
vs. at boot).
ExecStart — the command a service runs. Absolute path, no shell unless you invoke one explicitly.
Handler equivalent — there isn't one; that's Ansible. systemd's nearest idea is the restart policy.
Journal — the central, structured log kept by
systemd-journald; read with journalctl -u <unit>.
Lingering — loginctl enable-linger: lets a user's
services run without an active login session.
Main PID — the primary process systemd supervises
for a service; shown by status and
systemctl show -p MainPID.
Oneshot — a service Type that runs a command to
completion; success is exit 0. The timer's partner.
PID 1 — the first process started by the kernel, and the system supervisor: systemd, on most distributions.
Restart policy — Restart=: what systemd does when
a service exits — nothing, restart on failure, always,
and so on. Patience is bounded by the start limit.
Start limit — the rate limit on service starts
(default 5 per 10s). A crash loop trips it and latches
the unit failed until reset-failed.
Target — a group unit naming a system milestone
(multi-user.target, timers.target). Boot aims at a
default target; enables attach to targets.
Transient unit — a unit created at runtime by
systemd-run, supervised like any service, gone when
finished.
Unit — any managed thing: .service, .timer,
.target, .mount, .socket, .path.
Wants / Requires / After — relationships between units: requirement (start it too) and ordering (start me after it). A real dependency usually needs both.