CMD Master
Retour au blog
Mis à jourArnošt Havelka

Comment lister les processus en cours avec ps dans Bash

Utilisez ps dans Bash pour lister les processus, lire le PID et le propriétaire, inspecter un processus et savoir quand préférer la vue top.

Démarrer la leçon interactive
Comment lister les processus en cours avec ps dans Bash

Pour voir ce qui s’exécute depuis un terminal Bash, commencez par ps. La commande seule montre les processus associés à votre terminal actuel. Utilisez ps -ef pour obtenir une liste plus large à l’échelle du système, puis lisez ensemble le PID, le propriétaire, l’état et la commande avant d’agir sur un processus. La leçon sur la liste des processus permet de s’entraîner à lire cette sortie sans toucher à une charge de travail réelle.

Commencer par le terminal actuel

Exécutez d’abord la commande sans option :

ps

Les en-têtes exacts varient selon le système d’exploitation, mais un résultat court contient généralement :

  • PID : l’identifiant de processus utilisé par des outils tels que kill.
  • TTY : le terminal associé au processus.
  • TIME : le temps processeur consommé par le processus.
  • CMD ou COMMAND : le programme qui a été lancé.

Cette vue réduite est utile pour confirmer une commande lancée depuis le même terminal. Elle ne constitue pas un inventaire complet de tout ce qui s’exécute sur l’ordinateur.

Essayer la commande

Listez les processus associés à ce terminal.

Composer la commande
ps
Terminal
~$ps
PID TTY TIME CMD 1234 pts/0 00:00:01 bash 2345 pts/0 00:00:00 ps 3456 pts/0 00:00:05 node 4567 pts/0 00:00:02 worker

Lister les processus de tout le système

Pour obtenir un instantané plus complet, utilisez :

ps -ef

Cette forme inclut normalement le propriétaire, le PID, le PID parent, des informations de démarrage et la ligne de commande. Elle est plus facile à enregistrer, rechercher ou inclure dans une note d’incident qu’un écran qui change sans cesse.

Vous rencontrerez aussi ps aux dans la documentation Linux. Ces deux formes viennent de styles d’options différents et peuvent afficher des colonnes légèrement différentes. Toutes deux sont très répandues, mais un script doit choisir un format connu au lieu de supposer que chaque système de type Unix produit une sortie identique.

Lorsque vous avez besoin de champs précis, demandez-les explicitement :

ps -eo pid,ppid,user,stat,%cpu,%mem,command

Le sens et l’ordre des colonnes deviennent ainsi explicites. Certains noms de champs et certaines options de tri diffèrent entre Linux et macOS ; consultez donc man ps avant d’intégrer un format détaillé à un script portable.

Inspecter un PID avant de l’utiliser

Si un autre outil signale le PID 123, inspectez directement ce processus :

ps -p 123 -o pid,ppid,user,stat,etime,command

Remplacez 123 par le PID actuel que vous avez observé. Confirmez le propriétaire et la commande complète, pas seulement le numéro. Un PID peut être réutilisé après la fin d’un processus ; un identifiant copié dans un ancien message peut donc appartenir désormais à un autre programme.

Utiliser top lorsque la situation évolue

ps est un instantané. Utilisez top pour observer l’évolution de l’utilisation du processeur ou de la mémoire :

top

Appuyez sur q pour quitter top. Une vue dynamique aide à repérer un processus qui remonte régulièrement en tête, tandis que ps convient mieux pour enregistrer un instant précis ou examiner un PID connu. Aucun des deux outils ne vous indique automatiquement si un processus peut être arrêté sans risque ; cette décision dépend toujours de son propriétaire, de sa commande et de son rôle.

Vérification des connaissances

1 / 1

Quelle valeur identifie le processus précis que vous voulez inspecter ?

Lorsque vous avez confirmé le bon processus, poursuivez avec comment arrêter un processus sans risque. Pour toutes les options et règles de sortie de la commande, consultez le manuel ps de procps-ng.

Références

Ces liens de documentation fournissent des informations fiables sur les commandes utilisées dans cet article.

À suivre

Comment trouver et arrêter sans risque un processus bloqué dans Bash

Confirmez le processus et son PID, envoyez d’abord SIGTERM, vérifiez le résultat et réservez SIGKILL aux processus qui refusent de s’arrêter.