GNU/Linux >> Tutoriels Linux >  >> Linux

Exemples essentiels de la commande ps sous Linux

Qu'est-ce que la commande ps sous Linux ?

La commande ps sous Linux est utilisée pour afficher les processus en cours d'exécution sur le système. Vous pouvez obtenir des informations telles que l'ID de processus (PID) pour les processus que vous ou tout autre utilisateur exécutez sur le même système Linux.

La commande ps est un outil complet en soi et dispose de plus de 80 options de commande. Vous pouvez comprendre sa force et sa complexité. C'est pourquoi je vais vous montrer quelques-uns des exemples les plus courants et les plus utiles de la commande ps sous Linux.

Utilisation essentielle de la commande ps sous Linux

Si vous utilisez la commande ps sans aucune option sous Linux, elle affichera les processus en cours d'exécution dans le shell actuel :

ps

C'est la sortie. J'ai envoyé la commande Gedit en arrière-plan, c'est pourquoi elle affiche trois processus, sinon vous ne verrez normalement que ps et bash.

  PID TTY          TIME CMD
  503 pts/0    00:00:00 gedit
 2053 pts/0    00:00:00 ps
31585 pts/0    00:00:00 bash

Ici :

  • PID est l'ID de processus unique du processus
  • TTY est le type d'utilisateur du terminal auquel l'utilisateur est connecté. pts signifie pseudo terminal
  • TIME vous indique la durée d'exécution du processus
  • CMD est la commande que vous exécutez pour lancer le processus

Maintenant, cela ne fournit pas vraiment d'informations réelles et utiles. Voyons quelques meilleurs exemples de la commande ps :

1. Voir tous vos processus en cours

Si vous voulez voir tous les processus exécutés par vous, vous pouvez utiliser la commande ps avec l'option x comme ceci :

ps -x

L'option x affichera tous les processus même s'ils ne sont pas associés au tty actuel (type de terminal) ou s'ils n'ont pas de terminal de contrôle (comme les démons).

L'option – avant x est facultative mais la convention générale de Linux est d'utiliser – avant les options donc je vous conseille de continuer à la suivre. Cela ne vous fera pas de mal.

Voici à quoi ressemble la sortie. J'ai tronqué la sortie car elle comportait des centaines de lignes :

  PID TTY      STAT   TIME COMMAND
  503 pts/0    Sl     0:00 gedit
 2245 ?        S      0:00 /usr/bin/ssh-agent -D -a /run/user/1000/keyring/.ssh
 3039 ?        Ss     0:00 /lib/systemd/systemd --user
 3040 ?        S      0:00 (sd-pam)
 3054 ?        SLl    0:01 /usr/bin/gnome-keyring-daemon --daemonize --login
 3059 tty2     Ssl+   0:00 /usr/lib/gdm3/gdm-x-session --run-script env 

Le STAT dans la sortie ci-dessus signifie Process State Codes. Vous pouvez trouver un tableau détaillé dans la page de manuel de la commande ps.

Mais vous verrez rarement la commande ps utilisée uniquement avec l'option x. Il est généralement accompagné de l'option u de cette manière :

ps -ux

Avec l'option u, vous aurez des informations détaillées sur chaque processus :

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
abhishek   503  0.0  0.4 681580 37516 pts/0    Sl   18:09   0:00 gedit
abhishek  2245  0.0  0.0  11300  1496 ?        S    18:37   0:00 /usr/bin/ssh-agent -D -a /run/user/1000/keyring/.ssh
abhishek  3039  0.0  0.0  77344  3508 ?        Ss   10:37   0:00 /lib/systemd/systemd --user
abhishek  3040  0.0  0.0 114632   360 ?        S    10:37   0:00 (sd-pam)
abhishek  3054  0.0  0.1 517104 11512 ?        SLl  10:37   0:01 /usr/bin/gnome-keyring-daemon --daemonize --login

Comme vous pouvez le voir, vous obtenez maintenant le nom d'utilisateur et la consommation CPU et l'utilisation de la mémoire de chaque processus. RSS indique la quantité de mémoire dont dispose actuellement le processus dans la RAM, tandis que VSZ indique la quantité totale de mémoire virtuelle dont dispose le processus.

2. Voir tous les processus en cours d'exécution avec la commande ps aux

Vous verrez probablement ps -aux ou ps aux tout le temps dans les tutoriels et documentations Linux.

Avec l'option -a ajoutée, vous pouvez voir les processus en cours d'exécution par tous les utilisateurs sur le système Linux.

ps -aux

La sortie de la commande est la même que ps -ux mais maintenant vous avez également des processus d'autres utilisateurs. Grâce à l'option -u, vous pouvez identifier quel processus appartient à quel utilisateur.

3. Voir tous les processus en cours d'exécution avec la commande ps -ef sous Linux

Outre ps -aux, vous pouvez également répertorier tous les processus en cours d'exécution avec la commande -e. La pratique courante consiste à la combiner avec l'option f pour obtenir la liste complète des commandes utilisées pour exécuter les processus.

ps -ef

Notez que - avant e est important, sinon le résultat sera différent. Je vous l'ai dit, ps est une commande compliquée et compliquée.

Vous pouvez également combiner l'option H pour voir tous les processus dans une vue filetée avec les processus enfants sous leurs parents :

ps -efH

4. Voir tous les processus en cours d'exécution par un certain utilisateur

Pour obtenir des informations sur tous les processus exécutés par un certain utilisateur, vous pouvez utiliser l'option -U avec le nom d'utilisateur :

ps -U user_name

Par exemple, je peux voir tous les processus exécutés par l'utilisateur root comme ceci :

ps -U root
  PID TTY          TIME CMD
    1 ?        00:00:41 systemd
    2 ?        00:00:00 kthreadd
    3 ?        00:00:00 rcu_gp
    4 ?        00:00:00 rcu_par_gp
    8 ?        00:00:00 mm_percpu_wq
    9 ?        00:00:03 ksoftirqd/0
   10 ?        00:01:22 rcu_sched

5. Voir tous les processus exécutés par un groupe

Vous pouvez également classer les processus en cours d'exécution par groupe plutôt que par utilisateur en fournissant le nom ou l'identifiant du groupe :

ps -G group_name_or_id

Vous pouvez combiner avec l'option f pour obtenir la liste complète.

6. Obtenir toutes les occurrences et le PID d'un programme

L'une des utilisations essentielles de la commande ps est d'obtenir l'ID de processus (PID) d'un programme en cours d'exécution. Normalement, lorsque vous cherchez à tuer un programme qui se comporte mal, vous recherchez toutes les occurrences du programme, obtenez leurs PID et utilisez la commande kill pour mettre fin au processus.

ps -C program__name

Par exemple, si je dois trouver toutes les instances en cours d'exécution du gestionnaire de packages apt :

ps -C apt
  PID TTY          TIME CMD
11425 pts/1    00:00:00 apt

Vous pouvez également utiliser la commande grep pour obtenir un résultat similaire.

ps aux | grep program_name

7. Obtenir des informations de processus sur un PID

Très bien! Vous avez un PID mais vous ne savez pas à quel processus il appartient. Vous pouvez utiliser la commande ps pour trouver les informations de processus à partir de son PID de cette manière :

ps -pN

Vous pouvez utiliser plusieurs PID en les séparant par une virgule :

ps -pN1,N2,N3

Quoi d'autre ?

Comme je l'ai dit plus tôt, ps est une commande compliquée et étendue. Ce sont quelques-uns des exemples de commandes ps les plus courants dont vous aurez besoin la plupart du temps. Si vous en voulez plus, vous pouvez toujours vous référer à sa page de manuel.

Si vous avez un autre exemple utile de commande ps que vous utilisez régulièrement, pourquoi ne pas le partager avec nous dans la section des commentaires ?


Linux
  1. Maîtrisez la commande Linux ls

  2. 7 Exemples de commandes Linux df

  3. 8 Exemples de commandes Linux TR

  4. Exemples de commande rm sous Linux

  5. Exemples de commandes ps sous Linux

Commande Linux wc avec exemples

10 exemples de commandes iftop sous Linux

Qu'est-ce que la commande Linux Watch + Exemples

Les 50 exemples pratiques de la commande SED sous Linux

10 exemples utiles de la commande Sort sous Linux

Exemples de commandes id sous Linux