systemd je správce systému a služeb používaný v řadě linuxových distribucí. Mimo jiné spouští procesy podle jejich konfigurace, sleduje jejich stav a umožňuje je spravovat jako jednotky. Služba systemd není samotný Python nebo aplikace: popisuje, jak a za jakých podmínek se má příslušný program spustit a spravovat.

Jednotky, služby a závislosti

Konfigurace je rozdělená do jednotek, anglicky units. Jednotka s příponou .service popisuje službu, jiné druhy mohou představovat například časovač nebo zásuvku. Vedle příkazu ke spuštění lze nastavit účet, pracovní adresář, prostředí a způsob reakce na ukončení. Dostupné možnosti a jejich výchozí hodnoty je vhodné ověřit pro používanou verzi systému.

Pořadí spouštění a závislosti nejsou zaměnitelné. Předpis After= vyjadřuje pořadí vůči jiné jednotce, pokud jsou obě spouštěny; sám o sobě neznamená, že se druhá jednotka také automaticky spustí nebo že je vzdálené API dostupné. Aplikace proto musí stále počítat s výpadky sítě a chybnými odpověďmi.

Modelový worker jako služba

Následuje zjednodušený příklad pro existujícího uživatele a předem připravený program. Cesty i názvy jsou ilustrační; soubor službu sám nenainstaluje a před použitím vyžaduje úpravu podle prostředí:

TEXT
[Unit]
Description=Ukazkovy worker
After=network.target

[Service]
User=worker
WorkingDirectory=/srv/example-worker
ExecStart=/srv/example-worker/.venv/bin/python /srv/example-worker/worker.py
Restart=on-failure
RestartSec=10s

[Install]
WantedBy=multi-user.target

ExecStart určuje příkaz, Restart=on-failure požaduje restart při určitých typech selhání a RestartSec nastavuje prodlevu. Účet, cesty i interpretr musejí existovat a mít potřebná oprávnění. Restart procesu neopraví chybnou konfiguraci ani sám nezaručí, že rozpracovaná úloha nebude provedena dvakrát.

Spustit a povolit jsou odlišné kroky

Příkaz systemctl start example-worker.service službu spustí nyní. systemctl enable example-worker.service nastavuje vazby pro budoucí automatické spuštění, ale samotné povolení bez další volby obvykle službu ihned nespustí. systemctl status example-worker.service zobrazí stav a základní diagnostiku. Správa systémových služeb zpravidla vyžaduje odpovídající oprávnění.

Po úpravě souboru jednotky je potřeba načíst změněnou konfiguraci správcem služeb, typicky příkazem systemctl daemon-reload. Změna konfigurace automaticky nepřepíše již běžící proces; podle situace je nutné službu znovu spustit. Na vlastním stroji je vhodné po změně ověřit stav i log a mít možnost obnovit předchozí konfiguraci.

Výpis stavu pomáhá rozlišit, zda je konfigurace načtená, služba právě běží a zda byla povolena pro automatický start. Tyto údaje odpovídají na odlišné otázky. Služba může být například spuštěná ručně, přesto po restartu automaticky nenaběhne. Před použitím příkazů je nutné zvolit správnou systémovou nebo uživatelskou instanci správce služeb.

Logy, dostupnost a omezení

Výstup služby může být dostupný přes systémový journal, například příkazem journalctl -u example-worker.service. Rozsah a uchovávání záznamů závisí na konfiguraci systému. Log by neměl obsahovat hesla nebo tokeny a jeho velikost je zvlášť důležitá na malém úložišti.

Aktivní služba nemusí znamenat úspěšné zpracování práce. Proces může běžet a současně opakovaně selhávat při komunikaci s API. Provozní přehled proto potřebuje i údaje o dokončených úlohách, chybách a posledním úspěchu. Naopak krátkodobá chyba sítě nemusí vyžadovat úplný restart celého systému.

V článku z listopadu 2026 je systemd použito pro automatické spuštění Python workera na Raspberry Pi. SSH a lokální dashboard slouží ke správě a sledování; nejsou podmínkou nepřetržitého běhu workera. Starší samostatný autorský článek o systemd v prohledaném archivu nebyl doložen.

Z archivu 404M

Související pojmy

  • Python — Python může vykonávat samotnou úlohu; systemd řeší provoz a dohled nad procesem.
  • SSH — SSH umožňuje vzdálenou správu; provoz systémové služby nemusí záviset na otevřeném spojení.
  • Raspberry Pi — Jednodeskový počítač může provozovat Linux a služby; možnosti závisejí na konkrétním systému a konfiguraci.