+++ title = "Servis v systemd" description = "Jak vyrobit z binárky systemd daemona" date = 2021-02-04 draft = false slug = "systemd-service" [taxonomies] categories = ["linux"] tags = ["systemd", "administrace"] +++ Pokud potřebujeme spouštět program jako službu, na distribucích se systemd musíme vytvořit konfigurační soubor s popisem služby. Výhoda je, že lze jako daemona použít i normální binárka, kde se neřeší daemonizace forkem. Konfigurák vytvoříme v `/etc/systmd/system/` s obsahem: ``` [Unit] Description=Foo [Service] ExecStart=/usr/sbin/foo-daemon [Install] WantedBy=multi-user.target ``` Až je to hotové, je potřeba přenačíst služby příkazem: ``` $ sudo systemctl daemon-reload ``` Pak se dá služba ovládat přes systemctl: ``` $ sudo systemctl start foo-daemon $ sudo systemctl stop foo-daemon $ sudo systemctl restart foo-daemon $ systemctl status foo-daemon ``` A vypsat log přes journalctl: ``` $ journalctl -u foo-daemon ```