killall

Auteur: Ikipou

La commande killall, à l'instar de kill, permet d'envoyer un signal à des processus. À la différence de la commande kill, les processus sont indiqué par leur nom.

Notez que cette commande est spécifique à Linux. Peu d'Unix ont cette commande et il existe parfois une commande de même nom mais qui se comporte de façon différente.

Utilisation

La commande et ses options sont pratiquement les mêmes que pour la commande kill, vous pouvez vous reportez à la documentation de kill pour une introduction à killall.

La différence principale tient au fait que killall attend le nom d'un processus là où kill attend un numéro de processus (PID).

Tout comme kill, le signal par défaut est TERM (SIGTERM). Voici par exemple comment envoyer ce signal pour fermer toutes les instances de Apache:

$ killall apache

Envoyer un signal

Pour envoyer un signal autre que TERM, il suffit d'ajouter à la commande un tiret suivit du nom ou du numéro du signal.

La liste des signaux est obtenues avec l'option -l:

$ killall -l
HUP INT QUIT ILL TRAP ABRT IOT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM
STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR SYS
UNUSED

Voici par exemple comment envoyer le signal HUP à toute les instances du serveur bind:

$ killall -HUP bind

Page de manuel

La page de manuel de killall décrit la commande et ses options. Par rapport à kill, killall possède un petit peu plus d'options.

Pour connaître la signification des signaux, il existe une page de manuel signal dans la section 7.

- Dangereux! s'écria Gandalf. Et moi aussi je le suis, très dangereux
même: plus dangereux que tout ce que vous rencontrerez jamais, à moins
que vous ne soyez amené vivant devant le Seigneur Ténébreux. Et
Aragorn est dangereux, et Legolas est dangereux. Vous êtes entouré de
dangers, Gimli fils de Gloin; car vous êtes dangereux vous-même, à
votre propre manière.
-- J.R.R. Tolkien, "Les deux tours"