1. Encore un mot sur les processus

Il est possible de contrôler des processus : de les arrêter, les suspendre, les reprendre, etc. Mais, pour bien comprendre les actions que nous allons effectuer, il faut en savoir un peu plus sur l'organisation même de ces processus.

1.1. L'arborescence des processus

Comme les fichiers, tous les processus en cours d'exécution sur un système GNU/Linux sont organisés sous forme d'arborescence. La racine de cette arborescence est init, un processus système qui se lance au démarrage. Le système assigne un numéro unique (un PID, Process ID, soit identifiant du processus) à chaque processus afin de les identifier. Les processus héritent aussi du PID de leur processus parent (PPID, Parent Process ID, soit identifiant du processus parent)). Le PID de init est 1, de même que son PPID : init est son propre père.

1.2. Les signaux

Chaque processus sous UNIX est susceptible de réagir à des signaux qui lui sont envoyés. Il existe 64 signaux différents que l'on identifie soit par leur numéro (en partant de 1), soit par leur nom symbolique. Les 32 signaux de rang le plus élevé (33 à 64) sont des signaux temps réel, ils ne seront pas abordés ici. 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 voulez vous débarrasser. Une liste complète des signaux est disponible en utilisant la commande kill -l.