Ceci est une ancienne révision du document !
Comment créer un nouveau service avec Systemd
Ce tutoriel décrit la démarche à suivre pour faire transformer un programme en un service Systemd pouvant être lancé automatiquement au démarrage du système.
Pour notre exemple, nous allons créer un service pour lancer le daemon Deluge au démarrage (deluged), mais cela peu s'appliquer à n'importe quel programme.
Contexte
Systemd (Wikipedia) remplace System V (Wikipedia) et Upstart en tant que système d'initialisation par défaut dans Ubuntu depuis la versio 15.04 Vivid, et depuis la version 8 dans Debian (Jessie).
Pré-requis
- Disposer des droits d'administration
- Savoir utiliser le terminal
Création d'un script d'encapsulation du programme
Deluged ne gère pas les paramètres d'arrêt ou de relance, nous devons donc créer un script qui s'en chargera.
On pourra stocker ce script dans /usr/local/bin
.
cat >/usr/local/bin/deluge.sh
Puis collez le code ci-dessous (<CTRL>+<D> pour finir).
#! /bin/sh # /usr/local/bin/deluge.sh # function d_start { echo "Deluge : starting service" deluged --pidfile=/tmp/deluge.pid echo "PID is $(cat /tmp/deluge.pid)" } function d_stop { echo "Deluge : stopping service (PID=$(cat /tmp/tunnel.pid))" kill $(cat /tmp/tunnel.pid) rm /tmp/tunnel.pid } # Gestion des instructions du service case "$1" in start) d_start ;; stop) d_stop ;; reload) d_stop sleep 1 d_start *) echo "Usage: $0 {start|stop|reload}" exit 1 ;; esac exit 0
Création du fichier de service Systemd
Dans Systemd , les services sont définis dans des fichiers .service
, situé dans /etc/systemd/system/
.
Créons un fichier de service pour notre programme :
cat >/etc/systemd/system/deluge.service
Puis collez le code ci-dessous (<CTRL>+<D> pour finir).
[Unit] Description=Deluge daemon After=network.target auditd.service [Service] Type=forking ExecStart=/usr/local/bin/deluge.sh start ExecStop=/usr/local/bin/deluge.sh stop ExecReload=/usr/local/bin/deluge.sh stop [Install] WantedBy=multi-user.target
Autres étapes
Conclusion
Voila, vous savez maintenant faire le café avec Ubuntu !
Problèmes connus
Si votre café est trop fort, saisissez la commande suivante dans un terminal: …
Voir aussi
- Discussion "Tutoriel pour faire le café" sur le forum ubuntu-fr
—- Contributeurs principaux : stepho.