On passe maintenant aux choses sérieuses : afficher toutes les informations que l'on vient de découvrir dans le terminal.
Première chose à faire, ouvrir un terminal

.
Maintenant, nous allons voir la petite commande
ps.
La commande ps
La commande
ps affiche les informations sur les
jobs, dépendant uniquement du shell. Voici son utilisation :
Code : Console | ps [-aACcefhjlMmrSTuvwx] [-O fmt] [-o fmt] [-p pid] [-t tty] |
Comme vous pouvez le voir, ce n'est pas trop compliqué

. J'expliquerai plus tard les options et leurs utilisations, contentez-vous de taper
ps dans la console.
Voici un résultat possible, qui sera sûrement différent du vôtre, vu que nous n'avons pas le même ordinateur.
Code : Console | PID TTY TIME CMD
2571 ttys000 0:00.01 -bash |
Sous certains systèmes d'exploitation, voire certaines versions, la commande ps affiche aussi une colonne STAT, qui indique le statut du processus (R, T, Z, etc.), mais il est possible de l'afficher avec une option.
Nous avons déjà vu ce qu'est le
PID, intéressons-nous à la colonne
TTY.
TTY est l'abréviation de terminal dans le langage UNIX. Cette colonne indique de quel terminal le
job est issu.
(Note : tty est aussi une commande, qui indique dans quel terminal vous vous trouvez.)
Voici quelques options intéressantes de la commande
ps.
| L'option | L'utilisation |
|---|
| -a |
Affiche tous les jobs exécutés par l'utilisateur et le système |
| -x |
Affiche jobs et process confondus |
| -A |
Affiche tous les process exécutés par l'utilisateur et le système (équivalent à ps -ax) |
| -j |
Affiche plus de caractéristiques sur le processus, comme l'état (colonne STAT), ou l'utilisateur qui exécute le processus |
| -m |
Affiche les processus par ordre d'utilisation de la mémoire, à la place du PID |
| -r |
Affiche les processus par ordre d'utilisation du processeur |
| -u nom_utilisateur |
Donne la liste des processus associés à un utilisateur. |
Une des combinaisons d'options les plus courantes pour
ps est
ps -jax, qui affiche tout les processus en activité et le nom de leur utilisateur.
La commande
ps est intéressante, mais reste limitée, car elle n'affiche pas les informations en temps réel.
Ça, c'est le boulot d'une autre commande, la commande
top.
La commande top
La commande
top est beaucoup plus complète que
ps. Elle indique beaucoup d'informations très intéressantes, et surtout lisibles

.
Tapez donc
top dans le terminal.
Et voici le résultat

:
Code : Console | Processes: 69 total, 2 running, 2 stuck, 65 sleeping... 246 threads 18:46:53
Load Avg: 0.08, 0.07, 0.06 CPU usage: 2.40% user, 3.37% sys, 94.23% idle
SharedLibs: num = 7, resident = 57M code, 3092K data, 3964K linkedit.
MemRegions: num = 9678, resident = 223M + 18M private, 132M shared.
PhysMem: 154M wired, 519M active, 233M inactive, 906M used, 111M free.
VM: 6101M + 369M 238683(0) pageins, 32582(0) pageouts
PID COMMAND %CPU TIME #TH #PRTS #MREGS RPRVT RSHRD RSIZE VSIZE
4233 top 4.7% 0:03.94 1 18 29 488K 200K 1080K 18M
4187 mdworker 0.0% 0:00.12 3 51 32 632K 2656K 2148K 30M
4168 bash 0.0% 0:00.01 1 14 20 264K 672K 908K 18M
4167 login 0.0% 0:00.01 1 17 56 248K 268K 1064K 19M
4149 bash 0.0% 0:00.00 1 14 20 256K 672K 908K 18M
4148 login 0.0% 0:00.01 1 17 56 248K 268K 1064K 19M
4147 terminal 2.0% 0:04.10 3 104- 191 3176K 10M 12M 345M
4144 AppleSpell 0.0% 0:00.64 1 29 32 844K 5616K 4176K 33M |
Je mets ici seulement une petite partie du résultat.
Pour quitter
top, appuyez sur la touche
q de votre clavier.
La liste que vous voyez est la liste des processus, avec le
PID, le nom du processus, le pourcentage d'utilisation du processeur (CPU), et le temps d'utilisation cumulé du processeur. Les autres colonnes ne sont pas vraiment utiles.
L'en-tête est elle très intéressante, je vais expliquer les points les plus importants, et les informations les plus utiles.
Code : Console | Processes: 69 total, 2 running, 2 stuck, 65 sleeping... |
Indique le nombre de processus, ceux qui sont d'état
R (
running), d'état
T (
stuck), d'état
S (
sleeping) et parfois d'autres états.
Code : Console | Load Avg: 0.08, 0.07, 0.06 CPU usage: 2.40% user, 3.37% sys, 94.23% idle |
Ce qui est écrit après "
Load Avg" (
Load average, moyenne de la charge) indique la charge du CPU (voir la news
charge des serveurs). On peut donc voir que mon ordinateur s'en sort pépère (très petite charge). La première charge est la moyenne des cinq dernières minutes, la deuxième est celle des dix dernières minutes, et la troisième celle de ces quinze derniers minutes

. Notez que la commande
uptime donne les mêmes résultats, mais pas en temps réel.
Le "
CPU usage" (utilisation du processeur) est le pourcentage d'utilisation du processeur par l'utilisateur (vous

), le système et le pourcentage qui est au repos (
idle).
Code : Console | PhysMem: 154M wired, 519M active, 233M inactive, 906M used, 111M free. |
Le "
519M active, 233M inactive" indique la mémoire utilisée (519 Mo) et la mémoire inactive (233 Mo).
Voyons maintenant comment classer les processus par leur utilisation de mémoire, de CPU, etc.
Il faut utiliser l'option
-o avec un mot-clé, qui se trouve être
cpu pour classer par utilisation du processeur,
rsize pour la mémoire, mais voici une liste plus longue.
Citation : Manuel de la commande top-o <key>
Order the process display by sorting on <key> in descending order. A + or - can be prefixed to the key name to specify ascending or descending order, respectively. The supported key are:
command Command name.
cpu CPU usage.
pid Process ID (default).
prt Number of Mach ports.
reg Number of memory regions.
rprvt Resident private address space size.
rshrd Resident shared address space size.
rsize Resident memory size.
th Number of threads.
time Execution time.
uid User ID.
username Username.
vprvt Private address space size.
vsize Total memory size.
Je ne pense pas que vous aurez besoin de tout cela, mais retenez bien cette option
-o.
Voici une autre option bien utile, celle qui sert à régler la fréquence des mises à jour. C'est l'option
-s, suivie du nombre de secondes entre chaque mise à jour.
Code : Console
Cette commande va me donner les processus rangés par utilisation du CPU, et mettra à jour l'affichage toutes les cinq secondes. Comme dit dans le manuel, on peut choisir l'ordre d'affichage, c'est-à-dire croissant ou décroissant, en ajoutant un + ou un - devant le mot-clé.
Passons maintenant au contrôle des processus

.