Recherche de site Web

30 exemples de « commandes ps » utiles pour la surveillance des processus Linux


ps (processes status) est un utilitaire natif Unix/Linux permettant de visualiser des informations concernant une sélection de processus en cours d'exécution sur un système : il lit ces informations à partir des fichiers virtuels dans le répertoire/système de fichiers proc. C'est l'un des utilitaires importants pour l'administration système, en particulier dans le cadre de la surveillance des processus, pour vous aider à comprendre ce qui se passe dans un système Linux.

Il dispose de nombreuses options pour manipuler sa sortie, cependant, vous en trouverez un petit nombre pratiquement utiles pour une utilisation quotidienne.

Lire aussi : Tout ce que vous devez savoir sur les processus sous Linux [Guide complet]

Dans cet article, nous examinerons 30 exemples utiles de commandes ps pour surveiller les processus actifs en cours d'exécution sur un système Linux.

Notez que ps produit une sortie avec une ligne de titre, qui représente la signification de chaque colonne d'informations. Vous pouvez trouver la signification de toutes les étiquettes sur la page de manuel ps.

Répertorier tous les processus dans le shell actuel

1. Si vous exécutez la commande ps sans aucun argument, elle affiche les processus pour le shell actuel.

ps 

Imprimer tous les processus dans différents formats

2. Affichez chaque processus actif sur un système Linux au format générique (Unix/Linux).

ps -A
OR
ps -e

3. Affichez tous les processus au format BSD.

ps au
OR
ps axu

4. Pour effectuer un listing au format complet, ajoutez l'indicateur -f ou -F.

ps -ef
OR
ps -eF

Afficher les processus en cours d'exécution par l'utilisateur

5. Vous pouvez sélectionner tous les processus dont vous êtes propriétaire (exécuteur de la commande ps, root dans ce cas), tapez :

ps -x 

6. Pour afficher les processus d'un utilisateur par ID utilisateur réel (RUID) ou par nom, utilisez l'indicateur -U.

ps -fU tecmint
OR
ps -fu 1000

7. Pour sélectionner les processus d'un utilisateur par ID (EUID) ou nom d'utilisateur effectif, utilisez l'option -u .

ps -fu tecmint
OR
ps -fu 1000

Imprimer tous les processus exécutés en tant que racine (ID réel et effectif)

8. La commande ci-dessous vous permet de visualiser chaque processus en cours d'exécution avec les privilèges d'utilisateur root (ID réel et effectif) au format utilisateur.

ps -U root -u root 

Afficher les processus de groupe

9. Si vous souhaitez répertorier tous les processus appartenant à un certain groupe (ID de groupe réel (RGID) ou nom), saisissez.

ps -fG apache
OR
ps -fG 48

10. Pour répertorier tous les processus appartenant à un nom de groupe (ou de session) effectif, saisissez.

ps -fg apache

Afficher les processus par PID et PPID

11. Vous pouvez répertorier les processus par PID comme suit.

ps -fp 1178

12. Pour sélectionner un processus par PPID, saisissez.

ps -f --ppid 1154

13. Effectuez une sélection à l'aide d'une liste PID.

ps -fp 2226,1154,1146

Afficher les processus par téléscripteur

14. Pour sélectionner des processus par tty, utilisez l'indicateur -t comme suit.


ps -t pts/0
ps -t pts/1
ps -ft tty1

Arbre de processus d'impression

15. Une arborescence de processus montre comment les processus du système sont liés les uns aux autres ; les processus dont les parents ont été tués sont adoptés par init (ou systemd).

ps -e --forest 

16. Vous pouvez également imprimer une arborescence de processus pour un processus donné comme celui-ci.

ps -f --forest -C sshd
OR
ps -ef --forest | grep -v grep | grep sshd 

Fils du processus d'impression

17. Pour imprimer tous les threads d'un processus, utilisez l'indicateur -L, cela affichera le LWP (processus léger) ainsi que les colonnes NLWP (nombre de processus légers).

ps -fL -C httpd

Spécifier un format de sortie personnalisé

En utilisant les options -o ou –format, ps vous permet de créer des formats de sortie définis par l'utilisateur, comme indiqué ci-dessous.

18. Pour répertorier tous les spécificateurs de format, incluez l'indicateur L.

ps L

19. La commande ci-dessous vous permet d'afficher le PID, le PPID, le nom d'utilisateur et la commande d'un processus.

ps -eo pid,ppid,user,cmd

20. Vous trouverez ci-dessous un autre exemple de format de sortie personnalisé affichant le groupe de systèmes de fichiers, la valeur intéressante, l'heure de début et le temps écoulé d'un processus.

ps -p 1154 -o pid,ppid,fgroup,ni,lstart,etime

21. Pour rechercher un nom de processus à l'aide de son PID.

ps -p 1154 -o comm=

Afficher les processus parent et enfant

22. Pour sélectionner un processus spécifique par son nom, utilisez l'indicateur -C, cela affichera également tous ses processus enfants.

ps -C sshd

23. Recherchez tous les PID de toutes les instances d'un processus, utile lors de l'écriture de scripts qui doivent lire les PID à partir d'une sortie ou d'un fichier std.

ps -C httpd -o pid=

24. Vérifier le temps d'exécution d'un processus.

ps -eo comm,etime,user | grep httpd

Le résultat ci-dessous montre que le service HTTPD fonctionne depuis 1 heure, 48 minutes et 17 secondes.

Dépanner les performances du système Linux

Si votre système ne fonctionne pas comme il devrait l'être, par exemple s'il est inhabituellement lent, vous pouvez effectuer un dépannage système comme suit.

26. Recherchez les processus les plus en cours d'exécution en fonction de l'utilisation la plus élevée de la mémoire et du processeur sous Linux.

ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head
OR
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head

27. Pour tuer les processus Linux/applications qui ne répondent pas ou tout processus qui consomme beaucoup de temps CPU.

Tout d’abord, recherchez le PID du processus ou de l’application qui ne répond pas.

ps -A | grep -i stress

Utilisez ensuite la commande kill pour y mettre fin immédiatement.

kill -9 2583 2584

Imprimer les informations de sécurité

28. Afficher le contexte de sécurité (spécifiquement pour SELinux) comme ceci.

ps -eM
OR
ps --context

29. Vous pouvez également afficher les informations de sécurité dans un format défini par l'utilisateur avec cette commande.

ps -eo  euser,ruser,suser,fuser,f,comm,label

Effectuer une surveillance des processus en temps réel à l'aide de Watch Utility

30. Enfin, puisque ps affiche des informations statiques, vous pouvez utiliser l'utilitaire watch pour effectuer une surveillance des processus en temps réel avec une sortie répétitive, affichée toutes les secondes, comme dans la commande ci-dessous. (spécifiez une commande ps personnalisée pour atteindre votre objectif).

watch -n 1 'ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head'

Important : ps affiche uniquement des informations statiques. Pour afficher les sorties fréquemment mises à jour, vous pouvez utiliser des outils tels que htop ; haut, et aperçus : les deux derniers sont en fait des outils de surveillance des performances du système Linux.

Vous aimerez peut-être également lire les articles connexes suivants.

  1. Comment trouver un nom de processus à l'aide du numéro PID sous Linux
  2. Recherchez les processus les plus en cours d'exécution en fonction de l'utilisation la plus élevée de la mémoire et du processeur sous Linux
  3. Un guide des commandes Kill, Pkill et Killall pour terminer un processus sous Linux
  4. Comment rechercher et tuer les processus en cours sous Linux
  5. Comment démarrer la commande Linux en arrière-plan et détacher le processus dans le terminal

C'est tout pour le moment. Si vous avez des exemples de commande ps utiles à partager (sans oublier d'expliquer ce qu'ils font), utilisez le formulaire de commentaires ci-dessous.