ps |
État de processus |
---|---|
Linux | Externe |
Syntaxe
ps [–][lujsvmaxScewhrnu][txx][O[+|-]k1[[+|-]k2...]] [pids] [--sortX[+|-]key[,[+|-]key[,...]]] [--help] |
Paramètres
Nom | Description |
---|---|
pids | Ce paramètre permet d'indiquer le processus à afficher. Pour préciser plusieurs processus, il faut les séparer avec des virgules. |
a | Ce paramètre permet d'effectuer l'affichage des processus des autres utilisateurs. |
c | Ce paramètre permet d'effectuer l'affichage de nom de commande actuellement en cours. |
e | Ce paramètre permet d'effectuer l'affichage de l'environnement de la commande actuellement en cours. |
f | Ce paramètre permet d'effectuer l'affichage de la descendance d'un processus. |
h | Ce paramètre permet d'indiquer qu'il ne faut pas effectuer l'affichage de l'entête. |
j | Ce paramètre permet d'effectuer l'affichage du PGID et SID. |
l | Ce paramètre permet d'effectuer l'affichage long. |
m | Ce paramètre permet d'effectuer l'affichage de l'utilisation de la mémoire. |
n | Ce paramètre permet d'effectuer l'affichage des champs USER et WCHAN. |
O[+|-]k1[,[+|-]k2[,...]] | Ce paramètre permet d'indiquer qu'il faut mettre dans l'ordre spécifié la liste des processus. |
r | Ce paramètre permet d'effectuer l'affichage des processus en cours. |
s | Ce paramètre permet d'effectuer l'affichage des signaux refusés, ignorés ou interceptés. |
S | Ce paramètre permet d'effectuer l'affichage des temps ajouter du microprocesseur et des fautes de pagination des processus enfants. |
txx | Ce paramètre permet d'afficher les processus du terminal spécifié. |
u | Ce paramètre permet d'effectuer l'affichage du nom de l'utilisateur et l'heure de lancement. |
v | Ce paramètre permet d'effectuer l'affichage de la mémoire virtuel (vm). |
x | Ce paramètre permet d'effectuer l'affichage de processus n'ayant pas un terminal. |
w | Ce paramètre permet d'effectuer l'affichage en pleine largeur. |
--help | Ce paramètre permet d'afficher l'aide de cette commande et quitte immédiatement après. |
--sortX[+|-]key[,[+|-]key[,...]] | Ce paramètre permet d'indiquer qu'il faut mettre dans l'ordre spécifié. |
--version | Ce paramètre permet d'afficher les informations de version de cette commande et quitte immédiatement après. |
Description
Cette commande permet d'afficher une liste d'informations sur les processus actuellement actif. Par défaut, la commande ps sélectionne tous les processus ayant le même identificateur utilisateur effectif (euid = EUID) que l'utilisateur actuel et associés au même terminal que l'appelant. Il affiche l'identificateur de processus (pid = PID), le terminal associé au processus (tname = TTY), le temps UC cumulé au format [DD-]hh:mm:ss (heure = TIME) et le nom de l'exécutable (ucmd = CMD). La sortie n'est pas triée par défaut.
Remarques
- Si vous souhaitez une mise à jour répétitive de l'état des processus, vous devriez plutôt utiliser la commande top ou htop.
- La commande ps fonctionne en lisant les fichiers virtuels contenu dans le dossier «/proc».
- La commande ps n'a pas besoin d'être utiliser avec «setuid kmem» ou de privilèges spéciales pour s'exécuter. Elle n'a donc pas besoin de permission spéciale pour s'exécuter.
- L'utilisation du processeur est exprimée en pourcentage du temps d'exécution pendant toute la durée de vie d'un processus. Cependant, l'utilisation du processeur ne devrait pas atteindre exactement 100%.
- Les colonnes SIZE et RSS ne comptent pas certaines parties d'un processus, notamment les tables de pages, la pile du noyau, la structure thread_info et la structure task_struct. Il s'agit généralement d'au moins 20 Ko de mémoire résidant en permanence. La colonne SIZE est la taille virtuelle du processus (code + données + pile).
- Les processus marqués <defunct> sont des processus morts (appelés «zombies») subsistant car leur parent ne les a pas détruits correctement. Ces processus seront détruits par init si le processus parent est fermé.
- Surcharge de ressources : Si vous avez des problèmes de surcharge de processus au niveau système, vous devriez envisager d'utiliser la commande ulimit, tandis que si vous avez des problèmes de surcharge avec Apache, vous devriez envisager de modifier les paramètres StartServers, MinSpareServers, MaxSpareServer, ServerLimit, MaxRequestWorkins et MaxConnectionsPerChild et de leurs attribuer des valeurs plus réalistes (quel ne dépasse pas une limite théorique de 95% des ressources) afin qu'il soit toujours possible de se connecter en SSH à la machine. Voir la commande httpd et Serveur ou service logiciel - Apache HTTP Server - Réglage du paramètre MaxClients d'Apache sur un site à haut trafic
Exemples
L'exemple suivant permet d'afficher liste des processus de l'interpréteur de commande courant :
ps |
on obtiendra un résultat ressemblant à ceci :
PID TTY TIME CMD 23500 pts/0 00:00:00 bash 23535 pts/0 00:00:00 ps |
La signification des colonnes est la suivante :
Colonne | Description |
---|---|
PID | Cette colonne permet d'indiquer un identificateur de processus. |
TTY | Cette colonne permet d'indiquer un type de terminal auquel l'utilisateur est connecté. |
TIME | Cette colonne permet d'indiquer le nombre de minutes et de secondes qu'utilise le processus pour s'exécuter par le microprocesseur. |
CMD | Cette colonne permet d'indiquer le nom de la commande ayant lancé le processus. |
L'exemple suivant permet d'afficher les processus des autres utilisateurs de façon descendante en affichant les noms des utilisateurs sur des processus n'ayant pas de terminal (comme apache par exemple) :
ps faux |
on obtiendra un résultat ressemblant à ceci :
apache 4520 0.0 0.0 524144 7636 ? S 11:04 0:00 \_ /usr/sbin/httpd apache 4521 0.5 0.2 528272 21524 ? S 11:04 0:00 \_ /usr/sbin/httpd root 18208 0.0 0.0 72948 916 ? Ss Sep07 0:00 crond apache 31829 0.0 0.0 115908 2460 ? S 11:00 0:00 \_ crond apache 31853 0.0 0.0 8700 936 ? Ss 11:00 0:00 \_ /bin/sh -c (cd /data/projet/crons/; /data/projet/cron/crun.pl |
La commande suivant permet d'afficher du plus vieux au plus récent des processus :
ps kstart_time -ef |
L'exemple suivant permet de vérifier si l'instance AEM avec le port 4502 roule actuellement :
ps faux | grep "4502" |
L'exemple suivant permet de vérifier un processus relié à Git roule actuellement :
ps faux | grep git |
Voir également
Système d'exploitation - Linux - Références de commandes et de programmes - bg
Système d'exploitation - Linux - Références de commandes et de programmes - kill
Système d'exploitation - Linux - Références de commandes et de programmes - nice
Système d'exploitation - Linux - Références de commandes et de programmes - pagesize
Système d'exploitation - Linux - Références de commandes et de programmes - pgrep
Système d'exploitation - Linux - Références de commandes et de programmes - priocntrl
Système d'exploitation - Linux - Références de commandes et de programmes - top
Système d'exploitation - Linux - Références de commandes et de programmes - uptime
Système d'exploitation - Linux - Références de commandes et de programmes - who