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.