Comment mettre fin aux processus qui ne répondent pas sous Linux avec kill et pkill

Traiter des programmes qui ne répondent pas peut être une tâche délicate, surtout si vous utilisez du matériel plus ancien. Dans ce cas, le gel du système devient un problème courant. Heureusement, il existe de nombreuses façons de tuer les processus qui ne répondent pas sous Linux.

Les commandes kill et pkill fournissent des solutions simples mais efficaces pour mettre fin aux processus zombies qui ne répondent pas à partir du terminal. Les sections ci-dessous décrivent comment tuer les processus bloqués sous Linux en utilisant kill et pkill.

Terminer les processus qui ne répondent pas à l'aide de kill

La commande kill sous Linux vous permet de quitter facilement les processus qui ne répondent pas. Il envoie un signal de fin au processus. Par défaut, kill envoie le signal SIGTERM , représenté par le numéro de signal 15 . L'exemple suivant utilise kill pour arrêter un processus ayant un PID de 27065.

 kill 27065

Les utilisateurs peuvent envoyer d'autres signaux en spécifiant le nom ou le numéro du signal. Par exemple, les commandes kill ci-dessous arrêtent un processus zombie en utilisant le signal système SIGKILL , représenté par le signal numéro 9 .

 kill -9 27065
kill -SIGKILL 27065

La différence entre SIGTERM et SIGKILL est que les processus peuvent intercepter et ignorer le signal SIGTERM. Mais, SIGKILL est immunisé contre la gestion des processus et tue les programmes immédiatement.

Vous pouvez afficher une liste de tous les signaux disponibles en utilisant les commandes kill ci-dessous.

 kill -l
kill -L

Dans l'ensemble, SIGKILL sera plus adapté pour traiter les processus système qui ne répondent pas . D'un autre côté, SIGTERM est la voie à suivre si vous souhaitez terminer les programmes bloqués en douceur.

Tuer les processus qui ne répondent pas à l'aide de pkill

La commande pkill facilite la fin des processus sous Linux en nous permettant de tuer des programmes en fonction de leur nom. Par exemple, la commande ci-dessous tue le programme nano à l'aide de pkill.

 pkill nano

Comme kill, pkill envoie également le signal SIGTERM par défaut. Utilisez le signal SIGKILL si vous souhaitez arrêter immédiatement le processus qui ne répond pas.

 pkill -9 nano

Comment obtenir l'ID de processus (PID) d'un processus

Disposer des informations PID peut être d'une grande aide pour mettre fin aux processus qui ne répondent pas sous Linux. Vous pouvez obtenir le numéro PID d'un processus de plusieurs manières. La commande suivante récupère le PID d'un processus nommé nano à l' aide de la commande grep et ps.

 ps aux | grep nano

Vous pouvez également utiliser la commande pgrep, qui crache directement l'ID de processus.

 pgrep nano

Gestion des processus qui ne répondent pas sous Linux

Les commandes kill et pkill facilitent la gestion des processus qui ne répondent pas sous Linux. Tout ce dont vous avez besoin pour arrêter un processus zombie est son PID et l'accès à un shell. Cependant, vous aurez peut-être besoin d'autorisations sudo supplémentaires lors de la suppression de processus appartenant à un autre utilisateur. Donc, si vous êtes sur un système multi-utilisateurs, demandez à l'administrateur de vous ajouter à la liste des sudoers avant de prendre des mesures.