| | |
ps - Afficher l'état des processus en cours.
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...
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.
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 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é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 (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 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 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 quelques
soient les autres options. Ces listes ont priorité sur les options 'a' et
'x'.
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 a jour que la présente page de manuel.
- --version
- Afficher le numéro de version, et l'origine du programme.
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
-
- 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 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 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 (où de pages si l'option
-p est utilisée) sur le périphérique de swap.
- SHARE
- Mémoire partagée.
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 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
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écéssite un appel stat(2)
sur chacun des fichiers de "/dev".
Si "/dev" change souvent, 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.
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é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.
Christophe Blaess, 1997.
Table des matières
© 1996-2000 Adaptation française "Christophe Blaess"
| |