Comment gérer les services systemd à l’aide de la commande systemctl sous Linux

La gestion des services est l'une des principales responsabilités des administrateurs système Linux. Savoir comment gérer les services système est également important pour les utilisateurs Linux car ils peuvent avoir à gérer les services d'une manière ou d'une autre.

Ce guide explique comment gérer les services systemd à l'aide de la commande systemctl.

Qu'est-ce que systemd?

Systemd est un gestionnaire de systèmes et de services pour les systèmes d'exploitation Linux. Il s'agit du gestionnaire de services par défaut dans de nombreuses distributions Linux, notamment Ubuntu, Red RHEL, OpenSuse et Arch Linux. Systemd est le successeur d'anciens gestionnaires de services tels que System V et Upstart .

Contrairement au gestionnaire de services System V, systemd vise à être plus efficace en démarrant des services en parallèle pour accélérer le processus de démarrage Linux. Une autre caractéristique unique de systemd est qu'il fournit des services à la demande, c'est-à-dire qu'il peut différer le démarrage d'un service uniquement lorsque le système en a besoin, ce qui améliore considérablement les performances.

Systemd n'est pas seulement limité à la gestion des processus d'exploitation ou des services, mais peut également être utilisé pour monter des systèmes de fichiers, surveiller des réseaux, exécuter des minuteries, etc.

Gestion des services systemd à l'aide de systemctl

Sous Linux, la commande systemctl est responsable de la gestion des services systemd. Si vous avez le répertoire / usr / lib / systemd sur votre système, vous utilisez probablement le gestionnaire de service systemd.

Vous pouvez également exécuter l'une des commandes suivantes pour vérifier si le gestionnaire de service systemd est disponible sur votre système.

 systemctl --version
systemd --version

Vérification de l'état d'un service

Pour vérifier l'état d'un service particulier sur votre système, utilisez la commande status suivie du nom du service que vous souhaitez vérifier.

Par exemple, pour vérifier l'état du service docker , vous pouvez exécuter la commande suivante. Docker est un programme de virtualisation moderne utilisé par les développeurs de logiciels pour créer des applications efficacement.

 systemctl status docker

Remarque: Le manuel d'aide de systemctl fait également référence au verbe après systemctl en tant que commande, par conséquent, ce guide s'en tiendra à cette définition par souci de cohérence.

Connexes: raisons d'utiliser le logiciel de virtualisation Docker

En plus de répertorier l'état du service, la commande status vous donne également des informations importantes telles que l'ID de processus du service, l'utilisation de la mémoire et une simple liste des modifications récentes du service.

Connaître l'état d'un service est l'un des principaux moyens que vous utiliserez pour résoudre les erreurs ou diagnostiquer les problèmes. Avant d'entrer dans les détails sur les raisons pour lesquelles quelque chose ne fonctionne pas, les administrateurs système ont tendance à vérifier si le service est opérationnel en premier.

Liste des services avec systemctl

Souvent, vous aurez besoin de savoir quels services sont disponibles sur votre système avant de pouvoir procéder à leur gestion. Vous pouvez utiliser la commande suivante pour répertorier tous les services disponibles sur votre système.

 systemctl list-unit-files --type service --all

En plus de répertorier les services disponibles sur votre système, la commande affichera également l'état de ces services. Les états les plus courants incluent; activé, désactivé, masqué, etc.

Démarrage et arrêt des services

La commande stop est utilisée pour arrêter un service que vous ne souhaitez plus exécuter. Par exemple, pour arrêter le service docker :

 systemctl stop docker

Il existe plusieurs raisons pour arrêter les services sur votre machine Linux. Les services inutilisés consomment des ressources système inutiles et affectent négativement les performances de votre PC.

Si un service consomme trop de mémoire, envisagez d' autres options pour gérer la mémoire sous Linux . L'exécution de plusieurs services constitue également un risque de sécurité potentiel, car vous exposez davantage de ports à des fins d'exploitation au monde extérieur.

Pour démarrer un service qui n'est pas en cours d'exécution, utilisez la commande start . Par exemple, pour démarrer le service Docker que vous avez récemment arrêté:

 systemctl start docker

Si vous souhaitez arrêter un service puis le redémarrer immédiatement, vous pouvez utiliser la commande de redémarrage comme suit.

 systemctl restart docker

Activation et désactivation des services

Les termes Activation et Démarrage des services prêtent souvent à confusion pour certains utilisateurs de Linux. En activant un service, vous dites que le service doit être rendu disponible lorsque le système démarre, ou définit un service prêt lorsqu'un matériel spécifique est branché. Pour activer le service docker sous Linux:

 systemctl enable docker

Pour désactiver le démarrage d'un service au démarrage, vous pouvez utiliser la commande disable . Par exemple, exécutez la commande suivante pour désactiver le service docker .

 systemctl disable docker

Il existe de nombreuses autres commandes et options que vous pouvez utiliser pour gérer les services sur votre système. Exécutez la commande help systemctl –help ou jetez un œil aux pages de manuel de systemctl si vous ne parvenez pas à vous y retrouver.

 man systemctl

Souvent, certains services démarrent au démarrage du système. Ces services, s'ils ne sont pas nécessaires au système, affectent les performances globales de l'ordinateur. Vous pouvez facilement arrêter ces services de démarrage et démons sous Linux.