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, de façon optionnelle, 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 :
$ kill 785 |
Si vous voulez lui envoyer le signal 9, vous entrerez alors :
$ 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 à partir de son nom :
$ 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.
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 (voir la Figure 6.1. 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 disponibles :
k : sert à envoyer un signal à un processus. top vous demandera alors le PID du processus suivi du numéro du signal à envoyer (15 par défaut) ;
P : sert à trier les processus selon le temps CPU qu'ils consomment (champ %CPU : c'est le tri par défaut) ;
u : cette commande sert à afficher les processus d'un utilisateur donné, top vous demandera lequel. Vous devez entrer le nom de l'utilisateur, pas son UID. Si vous n'entrez aucun nom, tous les processus seront affichés ;
i : cette commande fonctionne en tant que bascule. Par défaut, tous les processus, même endormis, sont affichés. Cette commande fera que seuls les processus en cours d'exécution seront affichés (processus dont le champ STAT indique R, running, soit en cours d'exécution) mais pas les autres. Un nouvel appel à cette commande permettra de revenir à l'état antérieur.