Aller au contenu principal

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.