PS

Section: Manuel de l'utilisateur Linux (1)
Updated: 9 juin 1997
Index


NOM
SYNOPSIS
DESCRIPTION
OPTIONS
OPTIONS ÉTENDUES
CLÉS DE TRI
DESCRIPTIONS DES CHAMPS
MISE À JOUR
NOTES
AUTEURS
TRADUCTION
AVERTISSEMENT SUR LA TRADUCTION

NOM

ps - Afficher l'état des processus en cours.

SYNOPSIS

ps [-] [lujsvmaxScewhrnu] [txx] [O[+|-]k1[[+|-]k2...]] [pids]
Il y a également trois options étendues :
--sortX[+|-]clé[,[+|-]clé[,...]]
--help
--version
D'autres options étendues sont à venir... [Note du relecteur : il existe des versions plus récentes de ce document en langue anglaise]

DESCRIPTION

ps présente un cliché instantané des processus en cours. Pour obtenir un affichage remis à jour régulièrement, utilisez top.
Cette page de manuel documente la version de ps basée sur /proc.

OPTIONS

Les arguments de la ligne de commande peuvent être précédés par un '-', mais ce n'est pas indispensable. Il existe également des options étendues, dans le style GNU, présentées plus bas.
l
affichage long
u
(utilisateur) présente le nom de l'utilisateur et l'heure de lancement.
j
(job) présente les Pgid et Sid.
s
(signal) présente les signaux bloqués, ignorés et interceptés.
v
(vm) affiche des informations sur la mémoire virtuelle.
m
(mémoire) affiche des informations sur l'occupation mémoire. À combiner avec l'option p pour obtenir les nombres de pages.
f
(forêt) affiche les arbres généalogiques des processus.
a
(autres) présente également les processus des autres utilisateurs.
x
affiche les processus qui n'ont pas de terminal de contrôle.
S
additionner les temps CPU et les fautes de pagination des processus fils.
c
(commande) afficher le nom de la commande exécutée.
e
(environnement) présente l'environnement à la suite de la ligne de commande exécutée.
w
(wide) affichage large. Ne coupe pas les informations pour les limiter à une seule ligne. Pour être exact, chaque `w' autorise une ligne supplémentaire pour chaque processus. Si la ligne supplémentaire n'est pas nécessaire, elle n'est pas utilisée. Il peut y avoir jusqu'à 100 w.
h
ne pas afficher d'en-tête.
r
ne présenter que les processus en cours d'exécution (running).
n
Affichage numérique des champs USER et WCHAN.
txx
ne présenter que les processus contrôlés par le terminal xx, ou xx représente soit le nom du terminal tel qu'il est mentionné dans le répertoire "/dev", soit son nom sans les suffixes tty ou cu. Il s'agit de l'heuristique inverse de celle utilisée par ps pour afficher les noms abrégés dans le champ TTY. Ex : ps -t1.
O[+|-]k1[,[+|-]k2[,...]]
Ordonner la liste des processus en fonction d'un tri multi-niveaux spécifié par la séquence de clés abrégées k1, k2... Ces abréviations sont présentées plus bas, dans le paragraphe CLÉS DE TRI.
Il y a un ordre de tri par défaut pour chaque format de ps, mais ces ordres peuvent être remplacés par les directives de l'utilisateur.
Le `+' est optionnel, puisqu'il ne fait que demander l'ordre par défaut pour la clé indiquée. `-' inverse l'ordre de tri sur la clé qu'il précède. Comme pour les options t et pids, l'option O doit être la dernière option au sein d'un unique argument, mais les spécifications dans des arguments successifs sont concaténées.
pids
affiche uniquement les processus indiqués. Les PIDs sont séparés par des virgules.
Au sein d'un même argument, la liste de PIDs doit être le dernier élément. après la dernière option. Exemple : ps -j1,4,5. Par contre, les listes se trouvant dans des arguments successifs sont concaténées, par exemple : ps -l 1,2 3,4 5 6 listera tous les processus 1-6 avec le format long.
Si des PIDs sont mentionnés, ou si un terminal de contrôle est spécifié, les processus correspondants sont affichés quelles que soient les autres options. Ces listes ont priorité sur les options 'a' et 'x'.

OPTIONS ÉTENDUES

Ces options sont précédées par un double tiret.
--sortX[+|-]key[,[+|-]key[,...]]
Trier en utilisant les clés complètes (avec plusieurs lettres) présentées dans le paragraphe CLÉS DE TRI. X peut représenter n'importe quel caractère utilisé comme séparateur. Un vrai GNUiste utilisera `='. Le `+' est superflu, puisque la direction de tri par défaut est l'ordre numérique ou lexicographique croissant. Ex.: ps -jax --sort=uid,-ppid,+pid
--help
Afficher un message d'aide résumant les options d'utilisation et fournissant une liste des clés supportées. Cette liste peut être plus à jour que la présente page de manuel.
--version
Afficher le numéro de version, et l'origine du programme.

CLÉS DE TRI

Notez que le tri est fait en utilisant les valeurs internes et non pas les valeurs présentées à l'écran.
ABRÉV. COMPLÈTE DESCRIPTION
c cmd nom de l'exécutable
C cmdline ligne de commande complète
f flags attributs FLAGS du format long
g pgrp ID du groupe de processus
G tpgid terminal contrôlant le groupe
j cutime temps utilisateur cumulé
J cstime temps système cumulé
k utime temps utilisateur
K stime temps système
m min_flt nombre de fautes de page mineures
M maj_flt nombre de fautes de page majeures
n cmin_flt fautes de page mineures cumulées
N cmaj_flt fautes de page majeures cumulées
o session ID de session
p pid ID de processus
P ppid ID du processus père
r rss taille résidente
R resident pages résidentes
s size taille mémoire en kilo-octets
S share nombre de pages partagées
t tty numéro mineur de périphérique tty
T start_time heure de lancement
U uid ID utilisateur
u user nom d'utilisateur
v vsize taille totale VM en octets
y priority priorité d'ordonnancement

DESCRIPTIONS DES CHAMPS

PRI
Il s'agit d'un compteur dans la structure représentant la tâche. C'est la fréquence, en HZ des activations possibles du processus.
NI
Valeur standard Unix de gentillesse (nice). Une valeur positive signifie un accès moindre au CPU.
SIZE
Taille virtuelle de l'image du processus (code + données + pile).
RSS
Taille résidente de l'image du processus. Nombre de kilo-octets se trouvant en mémoire.
WCHAN
Nom de la fonction du noyau dans laquelle le processus est endormi. Le préfixe `sys_' est supprimé. Ce nom peut être remplacé par un nombre hexadécimal si le fichier /etc/psdatabase n'existe pas.
STAT
État du processus. Le premier champ correspond à R (runnable) prêt à être exécuté, S (sleeping) endormi, D sommeil ininterruptible, T (traced) arrêté ou suivi, Z (zombie). Le second champ contient W si le processus n'a pas de pages résidentes. Le troisième champ contient N si le processus a une valeur de gentillesse positive (nice, champ NI).
TT
terminal de contrôle
PAGEIN
Nombre de fautes de pages majeures (où l'on doit lire des pages sur le disque, y compris dans le buffer cache).
TRS
Taille de code résident en mémoire.
SWAP
Nombre de kilo-octets (ou de pages si l'option -p est utilisée) sur le périphérique de swap.
SHARE
Mémoire partagée.

MISE À JOUR

Cette version de ps basée sur proc fonctionne en lisant le pseudo-système de fichiers monté sur le répertoire /proc. Cette version n'a pas besoin de privilèges spéciaux, ni de bit S-UID positionné. Ne donnez pas de privilège à cette version de ps
Pour obtenir des informations correctes dans le champs WCHAN, il vous faudra créer le fichier /etc/psdatabase en lançant le programme /etc/psupdate. Ceci doit être reproduit à chaque nouvelle compilation du noyau. Vous devriez également lancer 'ps' en étant connecté sous 'root' lorsque les périphériques tty du répertoire "/dev" changent.
Avec procps-1.00, ps/top lisent directement System.map si ce fichier est disponible. La recherche de la table de correspondance entre les adresses et les symboles du noyau se fait dans l'ordre suivant :
            $PS_SYSTEM_MAP
            /boot/System.map-`uname -r`
            /boot/System.map
            /lib/modules/`uname -r`/System.map
            /etc/psdatabase
            /boot/psdatabase-`uname -r`
            /boot/psdatabase,
            /lib/modules/`uname -r`/psdatabase

NOTES

Le membre used_math de la structure task_struct n'est pas affiché, car crt0.s vérifie si math est présent. L'attribut math est ainsi positionné pour tous les processus. [NDT : je pense que 'math' indique une utilisation du coprocesseur arithmétique, mais je n'en suis pas sûr.]
Les programmes swappés sur le disque sont présentés sans les arguments de la ligne de commande, et sont affichés entre parenthèses sauf si l'option c est utilisée.
%CPU correspond à un rapport Temps CPU / Temps utilisateur. La somme des valeurs ne donne pas 100 % (à moins que vous ayez de la chance). Il s'agit d'un rapport entre le temps d'exécution effectif et le temps depuis lequel le processus a été lancé.
Les champs SIZE et RSS ne prennent pas en compte les tables des pages et la structure task_struct du processus ; Il y a toujours au moins 12 Ko de données résidentes en mémoire. SIZE est la taille virtuelle du processus (code + données + pile).
Pour effectuer la correspondance entre numéro de périphérique et nom de terminal, ps utilise une table "/etc/psdevtab". Cette table est mise à jour à chaque fois que "/dev" est plus récent qu'elle. Bien sur la mise à jour ne peut être faite que si les autorisations d'accès le permettent durant l'exécution. Si la mise à jour n'est pas faite, chaque appel de ps nécessite un appel stat(2) sur chacun des fichiers de "/dev". Si "/dev" change souvent, il faut lancer souvent ps en étant root ;-) J'ajouterai peut-être un fichier de rechange dans le répertoire $HOME si la demande devient pressante.

AUTEURS

ps a été écrit initialement par Branko Lankester (lankeste@fwi.uva.nl).
Michael K. Johnson (johnsonm@sunsite.unc.edu) l'a ré-écrit pour utiliser le pseudo-système de fichiers "/proc", en modifiant peu de choses pour le reste.
Michael Shields (mjshield@nyx.cs.du.edu) ajouta la gestion des listes de PIDs.
Charles Blake(cblake@bbn.com) a implementé le tri multi-niveaux, la bibliothèque dans le style dirent, la correspondance entre numéro de périphérique et nom de terminal, la recherche binaire directe dans System.map, et beaucoup d'autres chose. C'est lui qui maintient actuellement l'ensemble proc-ps.

TRADUCTION

Christophe Blaess, 1997.

AVERTISSEMENT SUR LA TRADUCTION

Il est possible que cette traduction soit imparfaite ou périmée. En cas de doute, veuillez vous reporter au document original en langue anglaise fourni avec le programme.