Skip to content

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.