15.3. Envoyer des signaux aux processus : kill, killall et top

15.3.1. Astuce sous X : xkill

Si vous utilisez KDE, vous avez un raccourci pour tuer un processus X bloqué. En effet, vous disposez d'une icône bien reconnaissable sur le bureau, reproduite dans la Figure 15-1.

Figure 15-1. Icône de xkill

Cette icône lance la commande xkill, que vous pouvez également lancer depuis un terminal. Quand vous cliquez sur cette icône (ou lancez le programme de votre terminal), le curseur de la souris se transformera. Vous devrez alors sélectionner avec un clic gauche la fenêtre correspondant au processus que vous voulez tuer.

15.3.2. kill, killall

Ces deux commandes permettent d'envoyer des signaux à des processus. La commande kill attend un numéro de processus en argument, tandis que killall attend un nom de commande.

Les deux commandes peuvent optionnellement recevoir un numéro de signal en argument. Par défaut, elles envoient toutes deux le signal 15 (TERM) à ou aux processus désigné(s). Par exemple, si vous voulez tuer le processus de PID 785, vous entrerez la commande :

$ <Command>kill 785</>

Si vous voulez lui envoyer le signal 9, vous entrerez alors :

$ <Command>kill -9 785</>

Supposons que vous vouliez tuer un processus pour lequel vous connaissez le nom de la commande. Au lieu de repérer le numéro du processus à l'aide de ps, vous pouvez tuer le processus directement :

$ <Command>killall -9 netscape</>

Quoi qu'il arrive, vous ne tuerez que vos propres processus (sauf si vous êtes root), donc ne vous inquiétez pas des processus « du voisin  » portant le même nom, ils ne seront pas affectés.

15.3.3. top

top est un programme tout en un : il remplit à la fois les fonctions de ps et kill. C'est un programme en mode console, vous le lancerez donc depuis un terminal, comme exposé dans la Figure 15-2.

Figure 15-2. Exemple d'exécution de top

Le programme se contrôle entièrement au clavier. Une aide est disponible en tapant sur h, mais elle est en anglais. Voici donc quelques unes des commandes que vous pouvez utiliser :