Comment tuer le processus par son nom

Comment tuer le processus par son nom

Comment tuer un processus sur un système Linux est une chose essentielle pour les administrateurs et les utilisateurs à savoir. La méthode incontournable pour cela est généralement avec le tuer Commande, qui implique de tuer un processus par son PID (ID de processus).

Parfois, cependant, il est plus pratique de tuer un processus par son nom plutôt que de passer par la routine de localisation de son PID à chaque fois. Il y a deux commandes que nous pouvons utiliser pour tuer un processus par leur nom, celles qui sont Killall et Pkill.

Dans ce tutoriel, nous passerons en revue les deux tuer tous et pkill commandes et afficher des exemples sur la façon dont ils peuvent être utilisés pour tuer les processus par leur nom uniquement.

Dans ce tutoriel, vous apprendrez:

  • Comment tuer un processus par son nom avec Killall et Pkill
Tuer un processus par nom sur Linux Exigences logicielles et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version logicielle utilisée
Système Toute distribution Linux
Logiciel Pkill, Killall
Autre Accès privilégié à votre système Linux en tant que racine ou via le Sudo commande.
Conventions # - Exige que les commandes Linux soient exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
$ - Exige que les commandes Linux soient exécutées en tant qu'utilisateur non privilégié régulier

Kill Process par son nom avec Killall et Pkill



La première chose que vous vous demandez probablement, c'est en quoi Killall diffère-t-il de Kill?. Il y a deux différences clés. Tout d'abord, Killall accepte un nom de processus comme un argument plutôt que un PID. Et l'autre différence est que Killall, comme son nom l'indique, tuera toutes les instances d'un processus nommé. Comparez cela au régulier tuer commande qui termine uniquement les processus que vous spécifiez explicitement.

Contrairement à Pkill, Killall exige que vous spécifiiez le nom exact d'un processus. Voyons quelques exemples de la façon dont cela fonctionne en tuant quelques instances du même script bash avec une seule commande.

$ KILLALL Exemple.shot 
Utilisation de la commande Killall pour tuer le processus par son nom

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 tuer. Cependant, tuer tous ne fait pas de discrimination et cible toutes les instances de notre script dans l'exemple. Si nous avions seulement voulu tuer, disons, deux d'entre eux, alors nous devions encore recourir à l'utilisation du tuer commande.

L'autre commande que nous aurions pu utiliser est pkill. Cela diffère de tuer tous en ne nous obligeant pas à spécifier le nom exact d'un processus. Ainsi, en utilisant notre exemple précédent, nous pourrions tuer les trois processus de exemple.shot avec une commande comme ceci:

$ pkill examp 
Utilisation de la commande pkill pour tuer un processus par nom ou modèle

Comme vous pouvez l'imaginer, vous devriez utiliser beaucoup de prudence avec le pkill commande parce que vous pourriez facilement tuer un processus que vous n'aviez pas l'intention. Par exemple, si nous avions un autre script exemple2.shot En fonctionnement, la commande précédente l'aurait également terminée. Parfois, cela peut être une bonne chose, mais sachez simplement que la correspondance du modèle peut parfois s'étendre à plus de processus que vous ne le pensez. Vous pouvez toujours utiliser le pgrep commande pour obtenir un aperçu du nombre de processus pkill finirait.

$ Pgrep Exemple 17555 17557 17559 

Ainsi, Exemple de pkill tuerait trois processus.

Notez que le tuer tous et pkill Les commandes accepteront la plupart des mêmes options que le régulier tuer commande. Par exemple, une option commune spécifiée avec tuer est -9 Pour envoyer un Sigkill signal à 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 exemple.SH $ PKILL -9 Exemple.shot 

Conclusion

Dans ce guide, nous avons vu comment tuer un processus par leur nom avec le tuer tous et pkill commandes. Chacune de ces commandes est livrée avec sa propre liste d'options étendue, dont beaucoup se chevauchent ou sont basées sur le tuer commande. Pourtant, les commandes Killall, Pkill et Kill ont leurs propres niches qu'ils remplissent et il est utile d'avoir les trois dans votre ceinture d'outils d'administration Linux. Découvrez les pages de l'homme si vous voulez avoir une idée de leur utilisation plus avancée.

$ man killall $ man pkill $ man kill 

Tutoriels Linux connexes:

  • Comment utiliser la commande killall sur Linux
  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Masterring Bash Script Loops
  • Guide de dépannage général GNU / Linux pour les débutants
  • Choses à installer sur Ubuntu 20.04
  • Mint 20: Mieux que Ubuntu et Microsoft Windows?
  • Comment propager un signal aux processus d'enfants à partir d'un bash…
  • Système linux hung? Comment s'échapper vers la ligne de commande et…
  • Boucles imbriquées dans les scripts bash
  • Variables de bash spéciaux avec des exemples