{{tag>sysadmin linux systemd service daemon}}
====== systemd : créer un service ======
**systemd gère des unités**. Différents types d'unité existent : service, automount, path, mount, target, timer, wants et socket. Ici on s’intéresse aux unités de type service.
Les fichiers unités du système sont présents dans le répertoire ''/usr/lib/systemd/system''. Ils ne doivent pas être directement modifiés. Il existe des méthodes pour les redéfinir.
Pour définir un service, créer un fichier avec l'extension ''.service'' dans un des répertoires suivants :
* ''/etc/systemd/system/'' : pour un service s’exécutant au démarrage du système ;
* ''/etc/systemd/user/'' : pour exécution du service à la connexion de tout utilisateur ;
* ''~/.config/systemd/user/'' : pour exécution du service à la connexion d’un utilisateur spécifique.
Le fichier unité de type service comporte 3 sections :
* ''Unit'' : description du service et définition des prérequis ;
* ''Service'' : définit le type de service et ses actions ;
* ''Install'' :
[Unit]
Description=
Before=
After=
ConditionPathExists=
[Service]
Environment=
Type=
User=
Group=
ExecStartPre=
ExecStart=
ExecStop=
ExecStopPost=
RemainAfterExit=
Restart=
RestartSec=
[Install]
WantedBy=
===== Références =====
* [[https://www.malekal.com/creer-service-linux-systemd/|Créer un service avec systemd (malekal.com)]]
* [[https://www.linuxtricks.fr/wiki/systemd-creer-des-services-unite-de-type-service|Créer une unité de type service (linuxtricks.fr)]]