15.2. Obtenir des informations sur les processus : ps et pstree

Ces deux commandes affichent une liste des processus existants sur le système selon les critères que vous voulez.

15.2.1. ps

Lancer cette commande sans argument montrera uniquement les processus dont vous êtes l'initiateur et qui sont rattachés au terminal que vous utilisez :

$ <Command>ps </>
  PID TTY          TIME CMD 
 5162 ttya1    00:00:00 zsh 
 7452 ttya1    00:00:00 ps

Les options sont nombreuses, citons les plus courantes :

Il existe beaucoup d'autres options, vous vous reporterez à la page de manuel pour plus d'informations (man 1 ps).

La sortie de cette commande est divisée en champs : celui qui vous intéressera le plus est le champ PID, qui contient l'identificateur du processus. Le champ CMD contient quant à lui le nom de la commande exécutée.

Une façon très courante d'invoquer ps est la suivante :

$ <Command>ps ax | less </>

Vous obtenez ainsi une liste de tous les processus en cours d'exécution, et pouvez ainsi repérer un ou plusieurs processus qui vous pose(nt) problème pour pouvoir ensuite le(s) tuer.

15.2.2. pstree

La commande pstree affiche les processus sous forme d'arborescence. Un avantage est que vous pouvez tout de suite voir qui est le processus parent d'un autre : quand vous voulez tuer toute une série de processus, s'ils sont tous pères et fils, il vous suffit de tuer l'ancêtre commun. Vous aurez avantage à utiliser l'option -p, qui affiche le PID de chaque processus, ainsi que l'option -u qui affiche le nom de l'utilisateur ayant lancé le processus. L'arborescence étant généralement longue, il est plus facile d'invoquer pstree de cette façon :

$ <Command>pstree -up | less </>

Vous avez ainsi une vue de toute l'arborescence des processus.