Outils pour utilisateurs

Outils du site


sysadmin:linux:systemd:creer-service

systemd : créer un service

De manière générale, un service est un programme exécuté par le système en tâche de fond sans interactions directes avec l'utilisateur. Sur les systèmes de types *Unix on les désignes également daemons (dieux ou divinités).

systemd gère des unités. Différents types d'unité existent : service, mount, automount, path, target, timer, wants et socket. Ici on s’intéresse à l' unité de type service.

Les fichiers unités gérés par le système et les paquetages sont présents dans le répertoire /usr/lib/systemd/system. Ils ne doivent pas être directement modifiés par l'administrateur (en cas de mises à jour les modifications locales pourraient être écrasé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 : définit quand le service est utilisé (circonstances et déclencheurs).
[Unit]
Description=
Before=
After=
ConditionPathExists=
ConditionFileIsExecutable=
 
[Service]
Environment=
Type= 
User=
Group=
WorkingDirectory=
ExecStartPre=
ExecStart=
ExecStop=
KillSignal=
ExecStopPost=
RemainAfterExit=
Restart=
RestartSec=
 
[Install]
WantedBy=

Après modification d'un fichier unité, lancer la relecture des fichiers de configuration de systemd :

systemctl --system daemon-reload

Pour activer le service :

systemctl enable --now example.service

Références

sysadmin/linux/systemd/creer-service.txt · Dernière modification : 2026/10/10 10:38 de yoann