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.
| | simple (výchozí)- spustit, jak je definováno v parametru ExecStart |
| | forking- služba je spuštěná, až dojde k forku a skončí rodičovský proces |
| | oneshot - podobné jako simple, ale předpokládá se, že proces skončí než se budou startovat následující služby. Lze definovat RemainAfterExit=yes, pak se předpokládá, že je služba aktivní, i když proces už skončil |
| | dbus- podobné jako simple, ale služba se považuje za spuštěnou, až dostane D-Bus jméno |
| | notify- podobné jako simple, ale služba se považuje za spuštěnou, až pošle signál systemd |
| | idle- spuštění služby je odloženo až doběhnou všechny úlohy|
|ExecStart |Příkaz i s argumenty pro spuštění služby. |
|ExecStop |Příkaz pro zastavení služby |
|ExecReload |Příkaz pro přenačtení konfigurace |
|Restart |Pokud je zadán tento parametr, služba je restartována v případě, že se ukončí nebo spadne. Při ukončení přes systemctl stop k restartu nedojde |
|RemainAfterExit|Pokud je nastaveno na True, služba je považována za spuštěnou, i když skončí proces |
## Přiklady konfigurace
```
[Unit]
Description=The NGINX HTTP and reverse proxy server