La commande kill

La commande kill permet d'envoyer un signal à un processus. Elle est couramment utilisée pour fermer (tuer) un programme en cours d'exécution. Au travers de quelques exemples je vais vous montrer les utilisations les plus courantes de la commande kill.

Fermer un processus proprement

Pour utiliser la commande kill, il est nécessaire de connaître le PID du processus à fermer. Pour obtenir le PID d'un processus vous pouvez utiliser la commande pidof. Par exemple pour récupérer le PID de firefox, utilisez la commande suivante:

Enfin pour demander au programme firefox ayant le PID 3143 de se fermer correctement, utilisez la commande kill de la manière suivante (sans option):

Tuer un processus

Si un vous n'arrivez pas à fermer un programme qui a par exemple planter, il est interressant d'utiliser kill avec une option particulière permettant de forcer la fermeture du processus. La commande kill permet d'envoyer des signaux à des processus, le signal utilisé pour forcer la fermeture d'un programme est SIGKILL. Sachez également que les signaux sont numérotés, le signal SIGKILL a le numéro 9.

Pour forcer la fermeture d'un processus, utilisez la commande kill avec l'option -s, cette option permet de spécifier le signal à envoyer.

Dans l'exemple ci-dessous, nous envoyons le signal SIGKILL à un processus ayant le PID 3143. Le processus va être tuer immédiatement.

Vous pouvez taper la commande également de la manière suivante (cela revient exactement au même):

Fermer un processus en récupérant le PID

Pour fermer un processus tout en récupérant son PID sur une seule ligne de commande:

La commande ci-dessous récupère le PID de firefox est appelle la commande kill en fournissant à cette dernière le PID récupéré.

Une autre manière est de tuer un processus sans avoir à récuperer son PID est d'utiliser la commande pkill. Par exemple pour fermer firefox:

Pour forcer la fermeture d'un programme avec pkill utilisez la commande ci-dessous:

 

Lister les signaux disponibles

La commande kill dispose d'un large eventail de sigaux qu'il est possible d'utiliser. Pour connaitre la liste des signaux disponibles, utilisez l'option -l comme ci-dessous: