GNU/Linux >> Tutoriels Linux >  >> Linux

Commande Pstree sous Linux

Lorsque vous travaillez sur une machine Linux, vous devrez parfois savoir quels processus sont en cours d'exécution. Il existe un certain nombre de commandes que vous pouvez utiliser pour trouver des informations sur les processus en cours d'exécution, avec ps et top étant les plus couramment utilisés.

Dans cet article, nous parlerons du pstree commande. Il est similaire à ps , mais au lieu de répertorier les processus en cours d'exécution, il les affiche dans une arborescence. Le format arborescent est un moyen plus pratique d'afficher la hiérarchie des processus et rend la sortie plus attrayante visuellement.

Comment utiliser le pstree Commande #

La syntaxe générale pour le pstree commande est la suivante :

ps [OPTIONS] [USER or PID]

Dans sa forme la plus simple lorsqu'il est invoqué sans aucune option ou argument, pstree affiche une arborescence hiérarchique de tous les processus en cours :

pstree
systemd─┬─VBoxService───7*[{VBoxService}]
        ├─accounts-daemon───2*[{accounts-daemon}]
        ├─2*[agetty]
        ├─atd
        ├─cron
        ├─dbus-daemon
        ├─irqbalance───{irqbalance}
        ├─2*[iscsid]
        ├─lvmetad
        ├─lxcfs───2*[{lxcfs}]
        ├─networkd-dispat───{networkd-dispat}
        ├─nginx───2*[nginx]
...

L'élément supérieur/racine de l'arborescence est le processus parent de tous les processus système. Dans cet exemple, c'est systemd , qui est le premier processus qui démarre au démarrage.

pstree fusionne des branches identiques en les plaçant entre crochets et en les préfixant d'un nombre entier représentant le nombre de branches. Cela rend la sortie plus lisible et visuellement attrayante.

Ci-dessous un exemple montrant comment les crochets sont utilisés :

├─2*[agetty]

est identique à :

├─agetty        
├─agetty

Pour désactiver la fusion des branches identiques, utilisez le -c choix :

pstree -c

Les threads d'un processus sont affichés sous le processus parent et affichés en utilisant le nom du processus entre des accolades. Voici un exemple :

├─lxcfs───2*[{lxcfs}]

Utilisez le -t option pour afficher les noms complets des threads. Si vous souhaitez masquer les threads et afficher uniquement les processus, utilisez le -T option.

Typiquement, pstree affiche de nombreuses lignes de sortie qui ne tiennent pas sur l'écran. Pour afficher la sortie une page à la fois, dirigez-la vers le less commande :

pstree | less

Si un nom d'utilisateur est donné en argument, pstree affiche uniquement les processus appartenant à cet utilisateur. Par exemple, la commande suivante n'affichera que les processus démarrés par un utilisateur nommé "linuxize" :

pstree linuxize

Lorsque PID est spécifié comme argument, pstree affiche un arbre avec le processus donné comme racine de l'arbre. Voici un exemple :

pstree 1943
sshd───bash───pstree

Pour afficher les processus parents du processus donné, utilisez le -s suivi du PID du processus :

pstree -s 1943
systemd───sshd───sshd───bash───pstree

Afficher les PID et PGID #

Habituellement, lors de l'exécution de pstree , l'information la plus importante que l'utilisateur recherche est l'ID de processus. Par exemple, connaître le PID vous permet de tuer un processus défectueux.

Le -p l'option indique pstree pour afficher les PID :

pstree -p

Les PID sont affichés entre parenthèses après chaque processus ou thread.

systemd(1)─┬─VBoxService(955)─┬─{VBoxService}(956)
           │                  ├─{VBoxService}(957)
           │                  ├─{VBoxService}(958)
           │                  ├─{VBoxService}(959)
           │                  ├─{VBoxService}(960)
           │                  ├─{VBoxService}(961)
           │                  └─{VBoxService}(962)
...

Par défaut, pstree , trier les processus avec le même parent par nom. Le -n l'option indique pstree pour utiliser le tri numérique, c'est-à-dire trier par PID :

pstree -pn

L'ID de groupe de processus ou PGID est l'ID de processus du premier membre du groupe de processus. Pour afficher les PGID, utilisez le -g choix :

pstree -g

Les PID sont également affichés entre parenthèses après chaque processus ou thread.

systemd(1)─┬─VBoxService(954)─┬─{VBoxService}(954)
           │                  ├─{VBoxService}(954)
           │                  ├─{VBoxService}(954)
           │                  ├─{VBoxService}(954)
           │                  ├─{VBoxService}(954)
           │                  ├─{VBoxService}(954)
           │                  └─{VBoxService}(954)
...

Lorsque les PID ou PGID sont affichés, la fusion est implicitement désactivée.

Afficher les arguments de la ligne de commande #

Certains programmes peuvent être appelés avec des options de configuration spécifiées comme arguments de ligne de commande.

Par défaut, le pstree ne vous montre pas les arguments de ligne de commande pour les processus en cours d'exécution. Pour voir comment le processus a été lancé, utilisez la commande avec le -a choix :

pstree -a
...
  ├─agetty -o -p -- \\u --keep-baud 115200,38400,9600 ttyS0 vt220
  ├─agetty -o -p -- \\u --noclear tty1 linux
...

Mise en surbrillance #

pstree vous permet également de mettre en évidence les processus pour une meilleure représentation visuelle.

Le -h l'option indique pstree pour mettre en évidence le processus en cours et tous ses ancêtres.

pstree -h

Pour mettre en évidence un processus spécifique, utilisez le -H option suivie de l'identifiant du processus :

pstree -H PID_NUMBER

Si la mise en surbrillance n'est pas prise en charge, la commande se terminera avec une erreur.

Conclusion #

Le pstree affiche les processus en cours sous forme d'arborescence.

Pour plus d'informations sur tous les pstree disponibles options, tapez man pstree dans votre terminal.

Si vous avez des questions ou des commentaires, n'hésitez pas à laisser un commentaire.


Linux
  1. Comment tuer un processus sous Linux en utilisant la commande ?

  2. kill Exemples de commandes sous Linux

  3. Options de commande nohup sous Linux

  4. Exemples de commandes renice sous Linux

  5. Exemples de commandes pkill sous Linux

À la commande sous Linux

Commande Killall sous Linux avec des exemples

5 façons rapides de tuer un processus sous Linux

Commande Df sous Linux

Comment tuer un processus sous Linux

Exemples de commande pstree sous Linux