Sous Linux, une instance en cours d’exécution d’un programme est appelée processus. Parfois, lorsque vous travaillez sur une machine Linux, vous devrez peut-être découvrir 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
, pstree
et top
étant les plus couramment utilisés.
Ceci Cet article explique comment utiliser la commande ps
pour répertorier les processus en cours d’exécution et afficher des informations sur ces processus.
Comment utiliser la commande ps #
La syntaxe générale de la commande ps
est la suivante:
Pour des raisons d’historique et de compatibilité, la commande ps
accepte plusieurs types d’options:
- Options de style UNIX, précédées d’un seul tiret.
- Options de style BSD, utilisées sans tiret.
- Options longues GNU, précédées de deux tirets.
Différents types d’options ca n être mélangé, mais dans certains cas particuliers, des conflits peuvent apparaître, il est donc préférable de s’en tenir à un type d’option.
Les options BSD et UNIX peuvent être regroupées.
Dans son plus simple form, lorsqu’il est utilisé sans aucune option, ps
affichera quatre colonnes d’informations pour au moins deux processus en cours d’exécution dans le shell actuel, le shell lui-même et les processus qui s’exécutent dans le shell lorsque le commande a été appelée.
Le résultat comprend des informations sur le shell (bash
) et le processus en cours shell (ps
, la commande que vous avez tapée):
Les quatre colonnes sont étiquetées PID
, TTY
, TIME
et CMD
.
-
PID
– L’ID de processus. Généralement, lors de l’exécution de la commandeps
, les informations les plus importantes recherchées par l’utilisateur sont le PID du processus. Connaître le PID vous permet de tuer un processus défectueux. -
TTY
– Le nom du terminal de contrôle du processus. -
TIME
– Le temps CPU cumulé du processus, affiché en minutes et secondes. -
CMD
– Le nom de la commande qui a été utilisé pour démarrer le processus.
La sortie ci-dessus n’est pas très utile car elle ne contient pas beaucoup d’informations. La vraie puissance de la commande ps
vient lorsqu’elle est lancée avec des options supplémentaires.
La commande ps
accepte un grand nombre d’options qui peuvent être utilisées pour afficher un groupe spécifique de processus et différentes informations sur le processus, mais seules quelques-unes sont nécessaires dans l’utilisation quotidienne.
ps
est le plus souvent utilisé avec la combinaison d’options suivante:
Forme BSD:
- Le
a
l’option indique àps
d’afficher les processus de tous les utilisateurs. Seuls les processus qui ne sont pas associés à un terminal et les processus des chefs de groupe ne sont pas affichés. -
u
représente un format orienté utilisateur qui fournit des informations détaillées sur le - L’option
x
indique àps
de lister les processus sans terminal de contrôle. Ce sont principalement des processus qui sont lancés au démarrage et exécutés en arrière-plan.
La commande affiche les informations dans onze colonnes intitulées USER
, PID
, %CPU
, %MEM
, VSZ
, RSS
, STAT
, START
, TTY
, TIME
et CMD
.
Nous avons déjà expliqué PID
, TTY
, TIME
et CMD
. Voici une explication des autres libellés:
-
USER
– L’utilisateur qui exécute le processus. -
%CPU
– L’utilisation du processeur par le processus. -
%MEM
– Le pourcentage de la taille de l’ensemble résident du processus par rapport à la mémoire physique de la machine . -
VSZ
– Taille de la mémoire virtuelle du processus en Kio. -
RSS
– La taille de la mémoire physique utilisée par le processus. -
STAT
– Le code d’état du processus, tel queZ
(zombie),S
(dormir) etR
(en cours d’exécution). -
START
– L’heure à laquelle la commande a démarré.
L’option f
indique à ps
d’afficher une arborescence des processus parent-enfant:
La commande ps
vous permet également de trier la sortie. Par exemple, pour trier la sortie en fonction de l’utilisation de la mémoire, vous utiliseriez:
Forme UNIX:
- L’option
-e
indique àps
d’afficher tous les processus. - Le
-f
est une liste au format complet, qui fournit des informations détaillées sur les processus.
La commande affiche les informations dans huit colonnes intitulées UID
, PID
, PPID
, C
, STIME
, TIME
et CMD
.
Les libellés qui ne sont pas déjà expliqués ont la signification suivante:
-
UID
– Identique àUSER
, l’utilisateur qui exécute le processus. -
PPID
– L’ID du processus parent. -
C
– Sam e comme%CPU
, l’utilisation du processeur du processus. -
STIME
– Identique àSTART
, l’heure à laquelle la commande a démarré.
Pour afficher uniquement les processus exécutés en tant qu’utilisateur spécifique, saisissez la commande suivante, où linuxize
est le nom de l’utilisateur:
Format défini par l’utilisateur #
Le o
vous permet de spécifier quelles colonnes sont affichées lors de l’exécution de la commande ps
.
Par exemple, pour imprimer des informations uniquement sur PID
et COMMAND
, vous exécuteriez l’une des commandes suivantes:
Utilisation de ps avec d’autres commandes #
ps
peut être utilisé en combinaison avec d’autres commandes via la tuyauterie.
Si vous souhaitez afficher la sortie de la commande ps
, une page à la fois Envoyez-le à la commande less
:
La sortie de la ps
peut être filtrée avec grep
. Par exemple, pour afficher uniquement le processus appartenant à l’utilisateur root, vous exécuteriez:
Conclusion #
Le ps
est l’une des commandes les plus couramment utilisées lors du dépannage des problèmes sur les systèmes Linux. Il propose de nombreuses options, mais la plupart des utilisateurs utilisent généralement ps aux
ou ps -ef
pour recueillir des informations sur les processus en cours d’exécution.
Pour plus d’informations sur ps
, saisissez man ps
dans votre terminal.