PS(1) Manuel de l'utilisateur Linux PS(1)
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[+|-]cle[,[+|-]cle[,...]]
--help
--version
D'autres options étendues sont à venir...
DESCRIPTION
ps présente un cliche 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. A combiner avec l'option p pour obtenir les
nombres de pages.
f (forêt) affiche les arbres généalogiques des proces
sus.
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
Linux 9 Juin 1997 1
PS(1) Manuel de l'utilisateur Linux PS(1)
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écéssaire, 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 exécution (run
ning).
n Affichage numérique des champs USER et WCHAN.
txx ne présenter que les processus contrôlés par le ter
minal xx, ou xx représente soit le nom du términal
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 champs 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 CLES 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 cle 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 con
caté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 quelques 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.
Linux 9 Juin 1997 2
PS(1) Manuel de l'utilisateur Linux PS(1)
--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 sup
portées. Cette liste peut être plus a jour que la
présente page de manuel.
--version
Afficher le numéro de version, et l'origine du pro
gramme.
CLES DE TRI
Notez que le tri est fait en utilisant les valeurs
internes et non pas les valeurs présentées à l'écran.
ABREV. COMPLETE 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éripherique 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ésen
tant la tâche. C'est la fréquence, en HZ des
Linux 9 Juin 1997 3
PS(1) Manuel de l'utilisateur Linux PS(1)
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 proces
sus est endormi. Le préfixe `sys_' est supprimé. Ce
nom peut être remplacé par un nombre héxadecimal si
le fichier /etc/psdatabase n'existe pas.
STAT Etat 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 gen
tillesse 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 (où 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
lancant le programme /etc/psupdate. Ceci doit être repro
duit à 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.
Linux 9 Juin 1997 4
PS(1) Manuel de l'utilisateur Linux PS(1)
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 proces
sus. [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 utilisa
teur. 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écéssite un appel stat(2)
sur chacun des fichiers de "/dev". Si "/dev" change sou
vent, il faut lancer souvent ps en étant root ;-)
J'ajouterais 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
Linux 9 Juin 1997 5
PS(1) Manuel de l'utilisateur Linux PS(1)
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 corre
spondance entre numéro de péripherique 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.
Linux 9 Juin 1997 6