Comment répertorier tous les services en cours dexécution sous Systemd sous Linux

Un système Linux fournit une variété de services système (tels que la gestion des processus, la connexion, syslog, cron, etc.) et des services réseau (tels que connexion à distance, e-mail, imprimantes, hébergement Web, stockage de données, transfert de fichiers, résolution de nom de domaine (utilisant DNS), attribution dadresse IP dynamique (utilisant DHCP), et bien plus).

Techniquement, un service est un processus ou un groupe de processus (communément appelés démons) sexécutant en continu en arrière-plan, attendant que des requêtes arrivent (en particulier des clients).

Linux prend en charge différentes manières de gérer (démarrer, arrêter, redémarrer, activer le démarrage automatique au démarrage du système, etc.), généralement via un gestionnaire de processus ou de services. La plupart des distributions Linux modernes, sinon toutes, utilisent maintenant le même gestionnaire de processus: systemd.

A lire aussi: Lhistoire derrière init et systemd: Pourquoi init devait être remplacé par systemd dans Linux

Systemd est un gestionnaire de système et de service pour Linux; un remplacement instantané pour le processus dinitialisation, qui est compatible avec les scripts dinitialisation SysV et LSB et la commande systemctl est le principal outil de gestion de systemd.

Dans ce guide, nous montrerons comment lister tous les services en cours dexécution sous systemd sous Linux.

Liste des services en cours dexécution sous SystemD dans Linux

Lorsque vous exécutez la commande systemctl sans aucun argument, elle affichera une liste de toutes les unités systemd chargées (lisez la documentation systemd pour plus dinformations sur les unités systemd), y compris les services, indiquant leur état (quils soient actifs ou non).

# systemctl 

Pour répertorier tous les services chargés sur votre système (quils soient actifs, en cours dexécution, fermés ou en échec, utilisez la sous-commande list-units et --type commutateur avec une valeur de service.

# systemctl list-units --type=serviceOR# systemctl --type=service
Répertorier tous les services sous Systemd

Et pour lister tous les services chargés mais actifs, en cours dexécution et ceux qui ont quitté, vous pouvez ajouter loption --state avec une valeur dactif, comme suit.

# systemctl list-units --type=service --state=activeOR# systemctl --type=service --state=active
Liste Tous les services en cours dexécution actifs dans Systemd

Mais pour avoir un aperçu rapide de tous les services en cours dexécution (cest-à-dire tous les services chargés et en cours dexécution), exécutez la commande suivante.

# systemctl list-units --type=service --state=running OR# systemctl --type=service --state=running
Répertorier les services en cours dexécution dans Systemd

Si vous utilisez fréquemment la commande précédente, vous pouvez créer une commande dalias dans votre fichier ~ / .bashrc comme indiqué, pour linvoquer facilement.

# vim ~/.bashrc

Ensuite, ajoutez la ligne suivante sous la liste des alias comme indiqué dans la capture décran.

alias running_services="systemctl list-units --type=service --state=running"
Créer un alias pour la commande longue

Enregistrez les modifications dans le fichier et fermez-le. Et à partir de maintenant, utilisez la commande « running_services » pour afficher une liste de tous les services chargés et en cours dexécution sur votre serveur.

# running_services#use the Tab completion 
Afficher tous les services en cours dexécution

En outre, un aspect important des services est le port quils utilisent. Pour déterminer le port sur lequel un processus démon écoute, vous pouvez utiliser les outils netstat ou ss comme indiqué.

Où lindicateur -l signifie imprimer toutes les sockets découte, -t affiche toutes les connexions TCP, -u affiche toutes les connexions UDP, -n signifie imprimer les numéros de port numériques (au lieu des noms dapplication) et -p signifie afficher le nom de lapplication.

# netstat -ltup | grep zabbix_agentdOR# ss -ltup | grep zabbix_agentd

Le la cinquième colonne montre le socket: Local Address: Port. Dans ce cas, le processus zabbix_agentd écoute sur le port 10050.

Déterminer le port de processus

Aussi, si votre serveur a un service de pare-feu en cours dexécution, qui contrôle Comment bloquer ou autoriser le trafic vers ou depuis les services ou ports sélectionnés, vous pouvez répertorier les services ou les ports qui ont été ouverts dans le pare-feu, à laide de la commande firewall-cmd ou ufw (selon les distributions Linux que vous utilisez) comme indiqué.

# firewall-cmd --list-services # firewall-cmd --list-ports$ sudo ufw status 
Répertorier les services et les ports ouverts sur le pare-feu

Laisser un commentaire

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