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.