Comprendre les services Linux avec systemctl

AL
Abdallah LISSER
17/08/2026
5 min de lecture
116 vues
Comprendre les services Linux avec systemctl

Introduction

Sous Linux, de nombreux programmes fonctionnent en permanence en arrière-plan afin d'assurer le bon fonctionnement du système. Ces programmes sont appelés des services. Ils permettent notamment de gérer le réseau, les connexions à distance, les serveurs Web ou encore les bases de données. Grâce à l'outil systemctl, il est possible de contrôler facilement ces services : les démarrer, les arrêter, les redémarrer ou encore vérifier leur état. Dans ce tutoriel, nous allons découvrir les principales commandes pour administrer les services sous Linux.

Qu'est-ce qu'un service Linux ?

Un service Linux est un programme qui s'exécute en arrière-plan afin d'assurer une tâche spécifique sur le système, sans intervention directe de l'utilisateur. Contrairement à une application classique que vous ouvrez et fermez manuellement, un service démarre généralement automatiquement au lancement de l'ordinateur ou du serveur et reste actif tant qu'il est nécessaire. Les services permettent notamment de gérer le réseau, les connexions à distance, les serveurs Web, les bases de données ou encore l'impression.

Quelques exemples de services courants :

  • ssh : permet les connexions à distance.
  • apache2 ou nginx : héberge un site Web.
  • docker : gère les conteneurs Docker.
  • NetworkManager : gère les connexions réseau.
  • cron : exécute des tâches planifiées.

Qu'est-ce que systemctl ?

systemctl est la commande utilisée pour communiquer avec systemd, le gestionnaire de services présent sur la majorité des distributions Linux modernes comme Ubuntu, Debian, Fedora ou Rocky Linux.

Grâce à cette commande, vous pouvez :

  • afficher l'état d'un service ;
  • démarrer ou arrêter un service ;
  • redémarrer un service ;
  • activer ou désactiver son démarrage automatique ;
  • consulter les journaux d'exécution.

Vérifier l'état d'un service

Avant de modifier un service, il est conseillé de vérifier son état.

systemctl status ssh

Résultat

État du service SSH avec systemctl

Explication :

  • Loaded indique que le service est installé.
  • Active indique si le service fonctionne.
  • Main PID correspond au processus principal du service.

Afficher tous les services

Pour afficher tous les services connus par le système :

systemctl list-units --type=service

Résultat - Une liste de services apparaît :

Liste des services Linux avec systemctl

Démarrer un service

Pour lancer un service immédiatement :

sudo systemctl start apache2

Démarrage du service Apache2

Cette commande démarre le service Apache sans redémarrer l'ordinateur.

Apache2 est un service Web qui permet d'héberger et de diffuser des sites Web ou des applications aux utilisateurs via un navigateur Internet.

Vous pouvez vérifier son état :

systemctl status apache2

Résultat :

État du service Apache2

Arrêter un service

Pour arrêter un service :

sudo systemctl stop apache2

Résultat :

Arrêt du service Apache2

Le service est arrêté jusqu'à son prochain démarrage manuel ou automatique.

Redémarrer un service

Après une modification de configuration, il est souvent nécessaire de redémarrer le service.

sudo systemctl restart apache2

Le service est arrêté puis relancé immédiatement afin d'appliquer les nouvelles modifications.

Redémarrage du service Apache2

Recharger la configuration

Certains services permettent de relire leur configuration sans être complètement redémarrés.

sudo systemctl reload apache2

Contrairement à restart, cette commande ne coupe pas le service et recharge uniquement son fichier de configuration.

Rechargement de la configuration Apache2

Vérifier rapidement si un service est actif

Pour connaître uniquement l'état d'un service :

systemctl is-active apache2

Résultat

Si le service fonctionne :

Service Apache2 actif

Sinon :

Service Apache2 inactif

Activer un service au démarrage

Pour que le service démarre automatiquement au lancement du système :

sudo systemctl enable apache2

Résultat

Created symlink...

Le service sera désormais lancé automatiquement à chaque démarrage de Linux.

Activation du démarrage automatique d'Apache2

Désactiver le démarrage automatique

Pour empêcher un service de se lancer automatiquement :

sudo systemctl disable apache2

Le service restera installé mais devra être démarré manuellement.

Désactivation du démarrage automatique d'Apache2

Consulter les journaux d'un service

Lorsque vous rencontrez un problème, il est souvent utile de consulter les journaux du service.

journalctl -u apache2

Résultat

Journaux du service Apache2

Pour afficher uniquement les 20 dernières lignes :

journalctl -u apache2 -n 20

20 dernières lignes des journaux Apache2

Pour suivre les nouveaux événements en temps réel :

journalctl -u apache2 -f

Suivi en temps réel des journaux Apache2

Cette dernière commande est très pratique pour surveiller un service pendant un dépannage.

Recharger la configuration de systemd

Si vous créez ou modifiez un fichier de service, demandez à systemd de recharger sa configuration.

sudo systemctl daemon-reload

Cette commande permet à systemd de prendre en compte les nouvelles modifications sans redémarrer le système.

Conclusion

La commande systemctl est un outil indispensable pour administrer un système Linux. Elle permet de gérer facilement les services, qu'il s'agisse de les démarrer, de les arrêter, de vérifier leur état ou de les configurer pour qu'ils se lancent automatiquement au démarrage. En maîtrisant ces commandes, vous disposerez des bases nécessaires pour administrer efficacement un poste Linux ou un serveur et diagnostiquer rapidement les problèmes liés aux services.

Commentaires

Laisser un commentaire

0 / 2500 caractères
* Champs obligatoires. Votre commentaire sera publié immédiatement.

Soyez le premier à commenter cet article !

Image agrandie