Chapitre 15. Contrôle des processus

Table des matières
15.1. Un peu plus sur les processus
15.1.1. L'arborescence des processus
15.1.2. Les signaux
15.2. Obtenir des informations sur les processus : ps et pstree
15.2.1. ps
15.2.2. pstree
15.3. Envoyer des signaux aux processus : kill, killall et top
15.3.1. Astuce sous X : xkill
15.3.2. kill, killall
15.3.3. top

15.1. Un peu plus sur les processus

Nous avons mentionné dans une section précédente qu'il était possible d'avoir le contrôle des processus, et c'est ce que ce chapitre va vous apprendre à faire. Il est utile, pour bien comprendre les actions que nous allons effectuer ici, d'en savoir un peu plus.

15.1.1. L'arborescence des processus

De même que pour les fichiers, tous les processus en cours d'exécution sur un système Linux sont organisés sous forme d'arborescence, et chaque processus possède un numéro (son PID, Process ID, identifiant du processus), ainsi que le numéro de son processus parent (PPID, Parent Process ID, identifiant du processus parent).

Il existe par conséquent un processus au sommet de l'arborescence, l'équivalent de la racine pour les systèmes de fichiers : init (voir le Manuel de référence), qui possède toujours le numéro 1. La section suivante détaillera deux commandes, ps et pstree, qui permettent d'obtenir des informations sur les processus en cours d'exécution.

15.1.2. Les signaux

Chaque processus sous Unix est susceptible de réagir à des signaux qui lui sont envoyés. Il existe 31 signaux différents. Pour chacun de ces signaux, le processus peut redéfinir son propre comportement par défaut, sauf deux : le signal numéro 9 (KILL), et le signal numéro 19 (STOP).

Le signal 9 tue un processus de façon irrémédiable, sans lui laisser le temps de se terminer correctement. C'est ce signal qu'il faut envoyer à des processus dont vous ne pouvez plus rien faire. Une liste complète des signaux est disponible en utilisant la commande kill -l.