ps
La commande ps permet de lister les processus. Le nom de la commande est l'acronyme de "process status" signifiant "état des processus".
Utilisation
La commande ps possède de nombreuses options et n'est pratiquement jamais utilisé sans aucune options. Finalement seule 3 options sont utilisés régulièrement: "a", "x" et "f". Avant de voir l'utilisation de la commande, voyons brièvement ces trois options:
- a
- Affiche aussi les processus des autres utilisateurs
- x
- Affiche les processus qui ne sont pas lié à un terminal
- f
- Affiche les processus en hiérarchie parent-enfant
Ces options peuvent être utilisé avec ou sans tiret.
Lorsque la commande est utilisé sans aucune option, elle affiche tout les processus de l'utilisateur courant à condition qu'ils soient lié à un terminal. Voici un exemple:
$ ps PID TTY TIME CMD 31919 pts/0 00:00:00 bash 12365 pts/0 00:00:00 ps
La première colonne donne le numéro unique de chaque processus (le PID). La seconde colonne donne le terminal sur lequel la commande est attaché. La troisième commande donne le temps total durant lequel le processu à utilisé le processeur. Finalement, la dernière colonne donne le nom de la commande.
Afficher tout les processus
Souvent les informations fournie par la commande sans option ne sont pas suffisante car on cherche aussi à voir les processus des démons, on utilise donc l'option "x" pour les afficher. Une autre option pratique est "a" qui permet d'afficher les processus des autres utilisateurs.
L'option "ax" est donc souvent utilisé en pratique. Voici par exemple le résultat de la commande sur le serveur qui héberge la base de donnée de ce site:
$ ps ax PID TTY STAT TIME COMMAND 1 ? Ss 0:26 init [2] 17347 ? S 0:56 /usr/lib/postgresql/8.1/bin/postmaster 17349 ? S 0:00 postgres: writer process 17350 ? S 0:26 postgres: stats buffer process 17351 ? S 0:20 postgres: stats collector process 20683 pts/0 R+ 0:00 login 20684 pts/2 Ss 0:00 /bin/bash -login 20689 pts/2 R+ 0:00 ps ax ...
Afficher la hiérarchie
Les processus connaissent le numéro du processus qui les a créé et forment ainsi une hiérarchie de processus parent-enfant. L'option "h" permet d'afficher cette hiérachie. Avec cette option, les enfants d'un processus sont décalé vers la droite dans l'affichage.
Voici le même exemple que le précédent en ajoutant l'option "h":
$ ps afx PID TTY STAT TIME COMMAND 1 ? Ss 0:26 init [2] 20683 pts/0 R+ 0:00 login 20684 pts/2 Ss 0:00 \_ /bin/bash -login 21286 pts/2 R+ 0:00 \_ ps afx 17347 ? S 0:56 /usr/lib/postgresql/8.1/bin/postmaster 17349 ? S 0:00 \_ postgres: writer process 17350 ? S 0:26 \_ postgres: stats buffer process 17351 ? S 0:20 \_ postgres: stats collector process
Page de manuel
La page de manuel décrit la commande et ses options. La commande ps utilisé sur Linux vient du projet GNU et est beaucoup plus riche que la commande équivalente qu'on retrouve sur de nombreux Unix commerciaux. Les options GNU sont décrite dans la page de manuel mais les différences avec d'autres version de ps ne sont pas explicité.
Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre