Android

Commande pstree sous linux

Tutoriel Linux : Utiliser pstree pour voir les processus | video2brain.com

Tutoriel Linux : Utiliser pstree pour voir les processus | video2brain.com

Table des matières:

Anonim

Lorsque vous travaillez sur une machine Linux, vous devrez parfois découvrir les processus en cours d'exécution. Il existe un certain nombre de commandes que vous pouvez utiliser pour rechercher des informations sur les processus en cours d'exécution, ps et top étant les plus couramment utilisés., nous parlerons de la commande pstree . 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 la commande pstree

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

ps

Dans sa forme la plus simple lorsqu'il est invoqué sans aucune option ni argument, pstree affiche une structure arborescente hiérarchique de tous les processus en cours d'exécution:

pstree

systemd─┬─VBoxService───7* ├─accounts-daemon───2* ├─2* ├─atd ├─cron ├─dbus-daemon ├─irqbalance───{irqbalance} ├─2* ├─lvmetad ├─lxcfs───2* ├─networkd-dispat───{networkd-dispat} ├─nginx───2*…

L'élément supérieur / racine dans 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 mettant entre crochets et en les préfixant avec un entier qui représente le nombre de branches. Cela rend la sortie plus lisible et visuellement attrayante.

Voici un exemple montrant comment les crochets sont utilisés:

├─2*

est identique à:

├─agetty ├─agetty

Pour désactiver la fusion des branches identiques, utilisez l'option -c :

pstree -c

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

├─lxcfs───2*

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

En règle générale, 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 la commande less :

pstree | less

Si un nom d'utilisateur est donné comme argument, pstree affiche uniquement les processus appartenant à cet utilisateur. Par exemple, la commande suivante n'affichera que les processus qui ont été 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 l'option -s suivie du processus PID:

pstree -s 1943

systemd───sshd───sshd───bash───pstree

Afficher les PID et PGID

Habituellement, lors de l'exécution de la commande pstree , les informations les plus importantes que l'utilisateur recherche sont l'ID de processus. Par exemple, connaître le PID vous permet de tuer un processus défectueux.

L'option -p demande à pstree d'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 , trie les processus avec le même parent par nom. L'option -n indique à pstree d'utiliser un tri numérique, c'est-à-dire un tri 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 l'option -g :

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é démarré, utilisez la commande avec l'option -a :

pstree -a

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

Mise en évidence

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

L'option -h demande à pstree de mettre en évidence le processus en cours et tous ses ancêtres.

pstree -h

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

pstree -H PID_NUMBER

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

Conclusion

La commande pstree affiche les processus en cours sous la forme d'une structure arborescente.

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

terminal ps