Afficher les threads en utilisant la commande ps dans Linux

Afficher les threads en utilisant la commande ps dans Linux
Dans les systèmes d'exploitation modernes, les threads servent d'abstraction de programmation populaire. Ces threads partagent des ressources telles que les fichiers ouverts, l'espace et les adresses mémoire lorsque cela se produit. Il évite les canaux de communication inter-processus (IPC coûteux) et réduit les frais généraux. En conséquence, les threads effectuent un mécanisme d'exécution simultanée.

Dans Linux, les threads sont également connus sous le nom de LWP ou de processus légers. Ces threads créés dans le programme ont un «ID de groupe de threads», le même que le PID du programme. Il y a un ID de thread individuel (TID) attribué à chaque fil. Les fils de planificateur dans le noyau Linux partagent quelques ressources, qui sont des processus standard.

En plus d'afficher les informations au niveau du processus par défaut, les outils de ligne de commande classiques, tels que Top et PS, peuvent également afficher les informations au niveau du thread. PS, TOP et HTOP sont des commandes classiques qui vous montrent les informations au niveau du processus par défaut. Vous pouvez également afficher les informations au niveau du thread à l'aide des commandes précédentes. Ce guide passera uniquement par la commande PS et expliquera comment la commande PS affiche des threads dans Linux.

Afficher les threads en utilisant la commande ps dans Linux

À l'aide de la commande PS, vous pouvez afficher les threads avec de nombreux filtres comme PID (ID de processus), nom de l'application, etc. Cette commande ne fonctionne pas sur BSD ou MacOS, car il n'y a pas d'option pour montrer que le thread et le paramètre -T ont une signification différente.

Commençons par la commande suivante dans le terminal pour répertorier tous les threads à l'aide de la commande PS:

ps -elf

Afficher les fils avec PID

Voici la syntaxe standard des commandes PS pour afficher les threads à l'aide de PIDS:

ps -t -p
ps -t p
-T Listez tous les threads
-p Spécifie l'ID de processus

Vous pouvez afficher les fils pour des PID spécifiques. Suivez la syntaxe standard précédente et mettez le numéro PID que vous souhaitez connaître les fils.

Par exemple, nous utilisons le pid . La syntaxe est la suivante:

PS -T -P 1904
PS -TP 1904

La colonne «SPID» montre les ID de thread dans la sortie précédente. Et la colonne «CMD» représente les noms de thread.

Afficher les threads avec le nom de l'application

Voici la syntaxe standard de la commande PS pour afficher les threads à l'aide du nom de l'application:

ps -t -c
Option Description
-T Listez tous les threads
-C Spécifie le nom de l'application

Par exemple, trouvons le fil lié à l'application bash. Voici la commande de base:

PS -T -C bash

Afficher les fils avec filtre

La syntaxe standard de la commande PS consiste à afficher les threads à l'aide du filtre comme suit:

ps -e -t | grep
Option Description
-T Listez tous les threads
-e Montre tous les processus
| Pipe la sortie vers la commande suivante
grep Il filtre le contenu à l'aide de

Vous pouvez filtrer le contenu via le nom de l'application. Tapez et exécutez la commande suivante pour l'accomplir:

ps -e -t | grep
ps -e -t | bash grep

Vous pouvez également filtrer les fils à l'aide de leurs PID:

ps -e -t | grep
ps -e -t | 1904

Dans la sortie précédente, vous remarquerez peut-être que tous les threads ont le même PID. Cela signifie que tous les fils précédents sont dans le même processus.

Pour trouver la somme de tous les threads en cours d'exécution du système, vous pouvez exécuter la commande suivante:

ps -eo nlwp | Tail -N +2 | awk 'num_threads + = $ 1 end print num_threads'

Vous pouvez utiliser le «pgrep» ou le «pidof» pour obtenir l'ID de processus du nom du processus:

ps -o nlwp $ (pgrep )

Ou

ps -o nlwp $ (pidof )

Conclusion

Dans Linux, les threads sont créés par un programme avec le «Thread Group ID» comme le PID. Il existe plusieurs façons d'afficher les threads de Linux en utilisant diverses commandes. Dans ce guide, nous avons expliqué les différentes méthodes pour afficher les threads à l'aide de la commande ps.

Il y a un avantage à utiliser la commande PS car elle vous montre tous les détails que vous souhaitez. Vous pouvez filtrer et afficher les threads en utilisant leurs Pids, le nom de l'application, etc. Vous pouvez également surveiller le nombre de threads via la commande ps.