GNU/Linux >> Tutoriels Linux >  >> Linux

Quelle est la différence entre les commandes kill et killall ?

Des forums Linux aux mèmes Linux, vous rencontrerez deux commandes pour forcer l'arrêt des programmes sous Linux; tue et tue tout.

Alors que de nombreux utilisateurs de Linux connaissent la commande kill, peu de gens connaissent et utilisent la commande killall.

Et cela pourrait être déroutant pour les gens de toute façon. Les deux commandes ont un nom similaire et un objectif similaire (mettre fin aux processus).

Alors, quelle est la différence entre kill et killall ? Quelle commande devez-vous utiliser et dans quel cas devez-vous les utiliser ?

Différence entre les commandes kill et killall

La commande kill fonctionne sur l'ID de processus (PID) et tue les processus pour lesquels vous fournissez les PID. D'autre part, la commande killall fonctionne sur le nom du processus et tue tous les processus avec les noms de processus donnés. Par exemple, s'il y a trois instances de mysqld en cours d'exécution, le killall les tuera tous les trois avec killall mysqld alors que vous devez fournir les PID des trois instances pour tuer la commande en tant que kill PID1 PID2 PID3 .

En termes plus simples, la commande kill fonctionne avec le PID (souvent un PID individuel) et la commande killall fonctionne avec le nom du processus et tue tous les processus avec le nom du processus.

Laissez-moi vous montrer cela en action.

Je démarre trois instances d'un programme appelé evince et je l'envoie en arrière-plan (il continue de fonctionner mais rend le contrôle au terminal).

evince &
evince &
evince &

Maintenant, j'ai trois programmes en cours d'exécution avec le nom de processus evince mais avec des ID de processus différents.

Pour forcer l'arrêt du processus avec la commande kill, vous devez fournir les PID des processus souhaités.

kill PID1

Cependant, fournissez le nom du processus à la commande killall et cela tuera toutes les instances en cours d'exécution avec ce nom de processus.

killall evince

Jetez un œil à la capture d'écran ci-dessous pour voir toutes les commandes en action :

Comme vous pouvez le remarquer ici, vous devez connaître l'ID de processus pour la commande kill et vous devez trouver le nom du processus pour la commande killall.

Lequel devez-vous utiliser ? Tuer ou tuer tout ?

Étant donné que la commande kill fonctionne avec des processus individuels, elle est plus sûre. Après tout, avant de lancer la commande killall, vous devez vous assurer qu'il n'y a pas de processus portant le même nom en cours d'exécution que vous ne souhaitez pas tuer.

J'espère que vous avez maintenant une image claire des commandes kill et killall. N'hésitez pas à déposer une question ou une suggestion.


Linux
  1. Quelle est la différence entre la commande locate et find sous Linux

  2. Quelle est la différence entre strtok_r et strtok_s en C ?

  3. Quelle est la différence entre fsck et e2fsck ?

  4. Quelle est la différence entre adduser et useradd ?

  5. Quelle est la différence entre `su -` et `su --login` ?

Quelle est la différence entre Linux et Unix ?

La différence entre plus, moins et la plupart des commandes

Quelle est la différence entre le chat et la commande tactile

Quelle est la différence entre la commande apt et apt-get ?

Qu'est-ce qu'un Hyperviseur ? Quelle est la différence entre les types 1 et 2 ?

Quelle est la différence entre curl et Wget ?