Recherche de site Web

Comment tuer un processus par son nom


Lorsque vous devez fermer rapidement ou de force un processus en cours d’exécution sur un système Linux, de nombreux utilisateurs essaient de déterminer l’ID du processus, puis tuent un processus par son ID. Bien que cela fonctionne bien, il est parfois plus facile ou plus pratique de tuer un processus par son nom. De cette façon, nous pouvons sauter l’étape de recherche de l’ID du processus et laisser notre terminal faire le travail pour nous.

Dans ce tutoriel, vous allez apprendre à tuer un processus par son nom sur un système Linux. Ceci est facilité par les commandes pkill et killall, qui acceptent les noms de processus comme argument au lieu d’un numéro d’identification de processus.

Dans ce tutoriel, vous allez apprendre :

  • Comment tuer un processus par son nom avec killall et pkill

Comment tuer un processus par son nom

Il existe deux commandes par défaut sous Linux qui peuvent tuer un processus par son nom : killall et pkill. Bien que les deux commandements accomplissent la même chose, ils s’y prennent tous les deux un peu différemment.

Tout d’abord, regardons killall. Nous devons spécifier le nom exact du processus que nous voulons tuer. Voyons quelques exemples de la façon dont cela fonctionne en tuant quelques instances du même script Bash avec une seule commande.


killall example.sh

Dans ce cas, il est certainement beaucoup plus facile de tuer tous ces processus avec une seule commande que d’avoir à spécifier chaque PID avec kill. Cependant, killall ne fait pas de discrimination et cible toutes les instances de notre script dans l’exemple. Si nous n’avions voulu tuer, disons, que deux d’entre eux, nous aurions quand même dû recourir à la commande kill.

L’autre commande que nous aurions pu utiliser est pkill. Cela diffère de killall en ce qu’il ne nous oblige pas à spécifier le nom exact d’un processus. Ainsi, en utilisant notre exemple précédent, nous pourrions tuer les trois processus de example.sh avec une commande comme celle-ci :


pkill examp

ATTENTION
Comme vous pouvez l’imaginer, vous devez faire preuve de beaucoup de prudence avec la commande pkill car vous pourriez facilement tuer un processus que vous n’aviez pas prévu. Par exemple, si nous avions un autre script example2.sh cours d’exécution, la commande précédente l’aurait également terminé. Parfois, cela peut être une bonne chose, mais sachez simplement que le filtrage peut parfois s’étendre à plus de processus que vous ne le pensez. Vous pouvez toujours utiliser la commande pgrep pour obtenir un aperçu du nombre de processus que pkill arrêterait.

Utilisation de pgrep pour déterminer quels processus portent le nom :


pgrep example
17555
17557
17559

Ainsi, l’exemple pkill tuerait trois processus.

Notez que les commandes killall et pkill accepteront la plupart des mêmes options que la commande kill normale. Par exemple, une option courante spécifiée avec kill est -9 pour envoyer un signal SIGKILL à un processus. La syntaxe fonctionne de la même manière sur les deux autres commandes. Voir l’exemple ci-dessous.


kill -9 1234
killall -9 example.sh
pkill -9 example.sh

Réflexions finales

Dans ce tutoriel, nous avons vu comment tuer un processus par son nom avec les commandes killall et pkill sur un système Linux. Chacune de ces commandes est livrée avec sa propre liste d’options, dont beaucoup se chevauchent ou sont basées sur la commande kill. Pourtant, les commandes killall, pkill et kill ont leurs propres niches qu’elles remplissent et il est utile d’avoir les trois dans votre ceinture d’outils d’administration Linux. Consultez les pages de manuel si vous voulez vous faire une idée de leur utilisation plus avancée.

Articles connexes: