Services Linux
Introduction
Dans ce tutoriel, nous allons apprendre à créer des services Linux. Les services Linux sont des programmes qui sont exécutés en arrière-plan et qui fournissent des fonctionnalités spécifiques au système. Ils sont souvent utilisés pour démarrer des applications, gérer des périphériques ou fournir des services réseau.
Prérequis
Pour suivre ce tutoriel, vous devez disposer d'un système Linux avec les privilèges root.
Créer un fichier de service
La première étape consiste à créer un fichier de service mon-service.service
qui spécifie les informations sur le service que vous souhaitez créer. Ce fichier doit être situé dans le répertoire /etc/systemd/system.
Le format d'un fichier de service simple est le suivant :
[Unit]
Description= Description du service
After= permet d'indiquer un pré-requis avant le démarrage du service
[Service]
Type= Type du service lancé
User= Indique l'utilisateur qui va lancer le service
WorkingDirectory= Répertoire de travail
ExecStart= Commande de démarrage du service
Restart= Cas de redémarrage du service
[Install]
WantedBy= Spécifie la/les cible/s du service.
Voici un exemple de fichier de service simple :
[Unit]
Description=Voici un service simple
After=network-online.target
[Service]
Type=simple
User=nicolas
WorkingDirectory=/home/nicolas/scripts/
ExecStart=/home/nicolas/scripts/service-test.sh
Restart=always
[Install]
WantedBy=multi-user.target
Charger le service
Une fois que vous avez créé, supprimé ou mofifié un fichier de service, vous devez le charger dans le système en relançant systemd. Pour ce faire, utilisez la commande suivante :
sudo systemctl daemon-reload
Démarrer le service
Pour démarrer le service, utilisez la commande suivante :
sudo systemctl start nom.service
Arrêter le service
Pour arrêter le service, utilisez la commande suivante :
sudo systemctl stop nom.service
Redémarrer le service
Pour redémarrer le service, utilisez la commande suivante :
sudo systemctl restart nom.service
Activer le service au démarrage
Pour activer le service au démarrage, utilisez la commande suivante :
sudo systemctl enable nom.service
Désactiver le service au démarrage
Pour désactiver le service au démarrage, utilisez la commande suivante :
sudo systemctl disable nom.service
Vérifier l'état du service
Pour vérifier l'état du service, utilisez la commande suivante :
sudo systemctl status nom.service
Afficher la liste des services actifs
Pour afficher la liste des services actifs, utilisez la commande suivante :
sudo systemctl
Afficher la liste de tous les services
Pour afficher la liste de tous les services, utilisez la commande suivante :
systemctl list-units --all
Afficher la liste des dépendences d'un service
Pour afficher la liste des dépendences d'un service, utilisez la commande suivante :
systemctl list-dependencies nom.service
Afficher les propriétés d'un service
Pour Afficher les propriétés d'un service, utilisez la commande suivante :
systemctl show nom.service
Pour plus d'informations sur Iptables, vous pouvez consulter la documentation systemd et le wiki
Exercices
- Créez un service qui démarre un script Python qui imprime la date et l'heure actuelles.
- Créez un service qui démarre un programme qui exécute une tâche périodiquement.