GNU/Linux >> Tutoriels Linux >  >> Linux

Liste des services Linux avec Systemctl

Sous Linux, un service est un programme qui s'exécute en arrière-plan. Les services peuvent être démarrés à la demande ou au démarrage.

Si vous utilisez Linux comme système d'exploitation principal ou plate-forme de développement, vous traiterez avec différents services tels que serveur Web, ssh ou cron. Savoir répertorier les services en cours d'exécution ou vérifier l'état du service est important lors du débogage des problèmes système.

La plupart des distributions Linux récentes utilisent systemd comme système d'initialisation et gestionnaire de services par défaut.

Systemd est une suite d'outils pour la gestion des systèmes Linux. Il est utilisé pour démarrer la machine, gérer les services, monter automatiquement les systèmes de fichiers, enregistrer les événements, configurer le nom d'hôte et d'autres tâches système.

Cet article explique comment répertorier les services sous Linux.

Liste des services Linux #

Systemd utilise le concept d'unités, qui peuvent être des services, des sockets, des points de montage, des périphériques, etc. Les unités sont définies à l'aide de fichiers texte dans ini format. Ces fichiers contiennent des informations sur l'unité, ses paramètres et les commandes à exécuter. Les extensions de nom de fichier définissent le type de fichier d'unité. Par exemple, les fichiers d'unité de service système ont un .service extension.

systemctl est un utilitaire de ligne de commande utilisé pour contrôler systemd et gérer les services. Il fait partie de l'écosystème systemd et est disponible par défaut sur tous les systèmes.

Pour obtenir une liste de toutes les unités de service chargées, tapez :

sudo systemctl list-units --type service
UNIT          LOAD      ACTIVE SUB     DESCRIPTION                                                              
cron.service  loaded    active running Regular background program processing daemon 
...

Chaque ligne de sortie contient les colonnes suivantes de gauche à droite :

  • UNIT - Le nom de l'unité de service.
  • LOAD - Informations indiquant si le fichier de l'unité a été chargé dans la mémoire.
  • ACTIVE - L'état d'activation du fichier d'unité de haut niveau, qui peut être actif, en cours de rechargement, inactif, en échec, en cours d'activation, en cours de désactivation. C'est une généralisation du SUB colonne.
  • SUB - L'état d'activation du fichier unité de bas niveau. La valeur de ce champ dépend du type d'unité. Par exemple, une unité de type service peut être dans l'un des états suivants :morte, abandonnée, en échec, inactive ou en cours d'exécution.
  • DESCRIPTION - Brève description du fichier d'unité.

Par défaut, la commande répertorie uniquement les unités actives chargées. Pour voir également les unités chargées mais inactives, passez le --all choix :

sudo systemctl list-units --type service --all

Si vous voulez voir tous les fichiers unitaires installés, pas seulement ceux qui sont chargés, utilisez :

sudo systemctl list-unit-files

Affichage de l'état du service #

Pour vérifier l'état d'un service, utilisez le systemctl status commande :

sudo systemctl status <service_name>.service

<service_name> est le nom de l'unité de service que vous souhaitez vérifier. Par exemple, pour déterminer l'état actuel du service nginx que vous exécuteriez :

sudo systemctl status nginx.service
Vous pouvez omettre le suffixe ".service". systemctl status nginx est identique à systemctl status nginx.service .
● nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2020-12-23 19:13:50 UTC; 5s ago
       Docs: man:nginx(8)
    Process: 3061052 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 3061063 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 3061064 (nginx)
      Tasks: 2 (limit: 470)
     Memory: 6.0M
     CGroup: /system.slice/nginx.service
             ├─3061064 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             └─3061065 nginx: worker process

Dec 23 19:13:50 linuxize.dev systemd[1]: Starting A high performance web server and a reverse proxy server...

La commande imprimera les informations suivantes :

  • Loaded - Si l'unité de service a été chargée et le chemin complet vers le fichier de l'unité. Il indique également si l'unité est activée pour démarrer au démarrage.
  • Active - Si le service est actif et en cours d'exécution. Si votre terminal prend en charge les couleurs et que le service est actif et en cours d'exécution, le point ( ) et la partie "active (en cours d'exécution)" seront imprimées en vert. La ligne indique également la durée d'exécution du service.
  • Docs - La documentation du service.
  • Process - Informations sur les processus de service.
  • Main PID - Le PID du service.
  • Tasks - Le nombre de tâches comptabilisées pour l'unité et la limite de tâches.
  • Memory - Informations sur la mémoire utilisée.
  • CGroup - Informations sur les groupes de contrôle associés.

Si vous souhaitez uniquement vérifier l'état du service, utilisez le systemctl is-active commande. Par exemple, pour vérifier que le service nginx est en cours d'exécution, vous exécuterez :

systemctl is-active nginx.service
active

La commande vous montrera l'état du service. Si le service est actif, la commande renvoie un état de sortie de 0, ce qui peut être utile lors de l'utilisation de la commande dans des scripts shell.

Conclusion #

Nous vous avons montré comment utiliser le systemctl commande pour répertorier les services Linux et vérifier leur état.


Linux
  1. Gérer plusieurs instances de service avec systemctl

  2. Tutoriel de commande de service Linux pour les débutants (avec exemples)

  3. Comment utiliser la commande Systemctl pour gérer les services Systemd

  4. Vérifier les services en cours d'exécution sous Linux

  5. Exemples de commandes systemctl sous Linux

Comment répertorier les services de démarrage au démarrage sous Linux

Comment redémarrer les services réseau sous Linux

Liste des services sur Ubuntu 20.04

Premiers pas avec systemctl

Comment utiliser systemctl sous Linux

Commande Linux chkconfig avec exemples