Comment répertorier tous les services en cours d'exécution sous Systemd en Linux

Comment répertorier tous les services en cours d'exécution sous Systemd en Linux

Un système Linux fournit une variété de services système (tels que la gestion des processus, connexion, syslog, cron, etc.) et les services réseau (tels que la connexion à distance, le courrier électronique, les imprimantes, l'hébergement Web, le stockage de données, le transfert de fichiers, la résolution de noms de domaine (à l'aide de DNS), l'attribution d'adresses IP dynamique (en utilisant le DHCP), et bien plus encore).

Techniquement, un service est un processus ou un groupe de processus (communément appelé démons) exécuter en continu en arrière-plan, en attendant que les demandes arrivent (en particulier des clients).

Linux prend en charge différentes façons de gérer (démarrer, arrêter, redémarrer, activer automatiquement le démarrage du système, etc.) Services, généralement via un gestionnaire de processus ou de services. La plupart sinon toutes les distributions Linux modernes utilisent désormais le même gestionnaire de processus: systemd.

Lire aussi: L'histoire derrière «init» et «systemd»: pourquoi «init» devait être remplacé par «systemd» dans Linux

Systemd est un gestionnaire de systèmes et de services pour Linux; un remplacement de rendez-vous pour le init processus, qui est compatible avec Sysv et LSB Init Scripts et la commande SystemCTL est le principal outil à gérer systemd.

Dans ce guide, nous montrerons comment répertorier tous les services en cours d'exécution sous systemd en linux.

Listing des services d'exécution sous Systemd en Linux

Lorsque vous exécutez le Commande SystemCTL Sans aucun argument, il affichera une liste de toutes les unités SystemD chargées (lisez la documentation SystemD pour plus d'informations sur les unités SystemD), y compris les services, affichant leur statut (actif ou non).

# systemctl 

Pour répertorier tous les services chargés de votre système (qu'il soit actif; en cours d'exécution, sorti ou échoué, utilisez le unités de liste sous-commande et --taper changer avec une valeur de service.

# SystemCTL List-Units --Type = Service ou # SystemCTL --Type = Service 
Énumérez tous les services sous Systemd

Et pour énumérer tous les services chargés mais actifs, à la fois en cours d'exécution et ceux qui sont sortis, vous pouvez ajouter le --État option avec une valeur de actif, comme suit.

# SystemCTL List-Units --Type = Service --State = Active ou # SystemCTL --Type = Service --State = Active 
Liste tous les services de course actifs dans Systemd

Mais pour jeter un coup d'œil à tous les services de course (je.e tous les services chargés et exécutés activement), exécutez la commande suivante.

# SystemCTL List-Units --Type = Service --State = Running ou # SystemCTL --Type = Service --State = Running 
Liste des services d'exécution dans SystemD

Si vous utilisez fréquemment la commande précédente, vous pouvez créer une commande d'alias dans votre ~ /.bashrc fichier comme indiqué, pour l'invoquer facilement.

# vim ~ /.bashrc 

Puis 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 le «les services en cours d'exécution»Commande pour afficher une liste de tous les services chargés et activement exécutés activement sur votre serveur.

# Running_Services # Utilisez l'adhésion 
Afficher tous les services en cours d'exécution

En outre, un aspect important des services est le port qu'ils utilisent. Pour déterminer le processus sur lequel un processus de démon écoute, vous pouvez utiliser le netstat ou SS Outils comme indiqué.

Où le drapeau -l signifie imprimer toutes les prises 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 d'application) et -p signifie afficher le nom de l'application.

# netStat -ltup | grep zabbix_agentd ou # ss -ltup | grep zabbix_agentd 

La cinquième colonne montre la prise: Adresse locale: Port. Dans ce cas, le processus zabbix_agentd écoute sur le port 10050.

Déterminer le port de processus

De plus, si votre serveur a un service de pare-feu en cours d'exécution, qui contrôle comment bloquer ou autoriser le trafic vers ou depuis des services ou des ports sélectionnés, vous pouvez répertorier des services ou des ports qui ont été ouverts dans le pare-feu, en utilisant le pare-feu-CMD ou la commande UFW (en fonction des distributions Linux que vous utilisez) comme indiqué.

# Firewall-CMD - List-Services [Firewalld] # Firewall-CMD - List-PORTS $ sudo UFW Status [UFW Firewall] 
Liste des services ouverts et des ports sur le pare-feu

C'est tout pour le moment! Dans ce guide, nous avons démontré comment afficher les services de course sous systemd en linux. Nous avons également couvert comment vérifier le port sur lequel un service écoute et comment afficher les services ou les ports ouverts dans le pare-feu système. Avez-vous des ajouts à faire ou des questions? Si oui, contactez-nous en utilisant le formulaire de commentaire ci-dessous.