Comment lister les services sous Linux

En tant qu’administrateur système, vous avez probablement affaire à de nombreux services chaque jour.

Sous Linux , les services sont utilisés à de nombreuses fins différentes.

Ils peuvent être utilisés pour démarrer un serveur SSH sur votre machine ou ils peuvent effectuer certaines opérations à une heure ou un jour spécifique.

Que vous utilisiez une distribution basée sur Debian ou un RedHat, l’interrogation des services est très similaire.

Cependant, étant donné la distribution que vous utilisez, et plus spécifiquement le système d’initialisation (init ou systemd), vous devrez peut-être utiliser différentes commandes.

Dans ce tutoriel, vous apprendrez comment vous pouvez, compte tenu de votre gestionnaire système, répertorier tous les services sur votre machine Linux.

Table des matières

Déterminer le gestionnaire de système utilisé

Comme vous le savez probablement, les distributions récentes utilisent le gestionnaire de système Systemd.

Cependant, cela n’a pas toujours été le cas: dans le passé, la plupart des distributions utilisaient le gestionnaire de système SysVinit.

Par conséquent, il existe en réalité deux manières de gérer vos services sur un système Linux.

Avant d’apprendre les commandes pour lister les services, vous devez connaître le gestionnaire de système que vous utilisez actuellement.

Pour déterminer votre gestionnaire de système actuel, le moyen le plus simple est d’utiliser le  » pstree ”et pour vérifier le premier processus jamais exécuté sur votre système.

Si vous voyez « systemd », cela signifie évidemment que vous utilisez actuellement systemd. Cependant, si vous voyez  » init « , cela signifie que vous utilisez SysVinit.

Sur Ubuntu 14.04, qui utilise toujours l’ancien système init, votre » pstree « peut ressembler à ceci.

Répertorier les services à l’aide de systemctl

La manière la plus simple de lister les services sous Linux, lorsque vous êtes sur un système systemd, est d’utiliser la commande « systemctl » suivie de « list-units ». Vous pouvez spécifier l’option « –type = service » afin de limiter les résultats aux services uniquement.

Par défaut, cette commande ne vous montrera que les services qui sont actifs ou les services qui ont échoué sur votre système. Dans la capture d’écran ci-dessus, la plupart des services sont actifs mais celui de logrotate (surligné en rouge) est marqué comme ayant échoué.

Génial, vous avez appris comment vous pouvez facilement lister vos services sur un serveur Linux.

Cependant, comme vous l’avez peut-être remarqué, vous n’aviez pas accès à tous les services: qu’en est-il des services inactifs? Qu’en est-il des services qui n’ont pas été chargés par systemd au démarrage?

Lister tous les services sur Linux utilisant des unités de liste

Pour lister tous les services, c’est-à-dire actifs et inactifs, vous devez utiliser la commande « systemctl list-units » suivie de l’option « –all ».

De même, vous pouvez limiter les résultats aux services uniquement en utilisant le filtre de type.

Comme vous pouvez le voir, les services inactifs sont également répertoriés, ce qui peut être pratique si vous venez d’écrire votre service et de le rechercher dans la liste.

Dans ce cas, seuls les services chargés sont répertoriés. Au démarrage, systemd charge les fichiers unitaires et il peut choisir de ne pas charger un service spécifique s’il constate qu’il ne sera pas utilisé par le système.

Par conséquent, il y a une réelle différence entre « chargé »Et les services« installés ». Les services « installés » signifient que les fichiers unitaires peuvent être trouvés dans les chemins correspondants.

Répertorier les services par état

Dans certains cas, seuls les services qui ont échoué peuvent vous intéresser. Pour cela, vous pouvez spécifier l’état que vous recherchez comme option de la commande systemctl.

Où « state » peut être l’une des valeurs suivantes: active, inactive, activating, désactivation, échec, introuvable ou mort.

Par exemple, si nous ne sommes intéressés que par les services « échoués », nous allons exécuter la commande suivante

Répertorier tous les fichiers de service en utilisant les fichiers de l’unité de liste

Enfin, si vous êtes intéressé par les fichiers de service «chargés», «installés», «désactivés» ainsi que «activés», il existe une autre commande cela pourrait être très pratique.

Pour lister tous les fichiers de service disponibles, vous devez utiliser la commande « systemctl » suivie de « list-unit-files ». Vous pouvez éventuellement spécifier le type à l’aide de l’option « –type = service ».

Vous pouvez également utiliser la commande « grep » pour rechercher des chemins spécifiques sur votre système qui peuvent contenir des fichiers de service.

Félicitations, vous avez appris comment vous pouvez lister les services si votre système utilise systemd!

Répertorier les services utilisant le service

Le moyen le plus simple de lister les services sous Linux, lorsque vous êtes sur un système d’initialisation SystemV, est d’utiliser le  » service ”suivie de l’option“ –status-all ”. De cette façon, une liste complète des services sur votre système vous sera présentée.

Comme vous pouvez le voir, chaque service est listés précédés de symboles entre crochets. Ces symboles signifient:

  • +: signifie que le service e est en cours d’exécution;
  • -: signifie que le service ne fonctionne pas du tout;
  • ? : signifie qu’Ubuntu n’a pas été en mesure de dire si le service est en cours d’exécution ou non.

Alors, pourquoi certains services disent-ils s’ils fonctionnent ou non, et certains ne le peuvent pas?

Tout se résume à l’implémentation du script init. Dans certains scripts, comme le script udev par exemple, vous pouvez voir que la commande « status » est implémentée.

Ce n’est pas le cas pour le script » dns-clean « par exemple qui est la raison pour laquelle vous avez une question marquer lorsque vous interrogez ce service.

Lister les services SysVinit dans des dossiers

Une autre façon de lister la liste actuelle des services est d’utiliser la commande « ls » sur les dossiers contenant tous les scripts sur un système Linux, à savoir « /etc/init.d ».

Conclusion

Dans ce didacticiel, vous avez appris comment répertorier facilement les services sur un système Linux si vous utilisez des services systemd ou SysVinit.

Si vous souhaitez créer vos propres services, nous vous recommandons de consulter les ressources suivantes. Ils pourraient être vraiment utiles pour y parvenir correctement.

  • Ecrire un script de démarrage pour les systèmes init;
  • Démarrer les services au démarrage en utilisant systemd;

Si vous êtes intéressé par l’administration système Linux, nous avons une section complète sur ce sujet sur le site Web, alors assurez-vous de la vérifier.

Icônes créées par Freepik depuis FlatIcon

Write a Comment

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *