GNU/Linux >> Tutoriels Linux >  >> Linux

Quelle est la différence entre kill , pkill et killall ?

Le kill La commande est un wrapper très simple pour le kill appel système , qui ne connaît que les ID de processus (PID). pkill et killall sont également des enveloppes pour le kill appel système , (en fait, à la bibliothèque libc qui invoque directement l'appel système), mais peut déterminer les PID pour vous, en fonction de choses comme le nom du processus, le propriétaire du processus, l'identifiant de session, etc.

Comment pkill et killall le travail peut être vu en utilisant ltrace ou strace sur eux. Sous Linux, ils lisent tous les deux le /proc système de fichiers, et pour chaque pid (répertoire) trouvé, parcourt le chemin de manière à identifier un processus par son nom ou d'autres attributs. La façon dont cela est fait est techniquement parlant, spécifique au noyau et au système. En général, ils lisent à partir de /proc/<PID>/stat qui contient le nom de la commande comme 2e champ. Pour pkill -f et pgrep examinez le /cmdline entrée pour l'entrée de proc de chaque PID.

pkill et pgrep utilisez le readproc appel système, alors que killall ne fait pas. Je ne saurais dire s'il y a une différence de performances :vous devrez l'évaluer vous-même.


kill et killall sont des outils qui permettent de tuer un processus. Le premier par son PID, le second par son nom. pgrep (list) et pkill (kill par défaut) sont des outils qui permettent d'envoyer un message à un processus par son nom ou d'autres attributs voir :http://linux.die. net/man/1/pkillPour plus d'informations sur les signaux :http://linux.die.net/man/7/signal


Linux
  1. Quelle est la différence entre InnoDB et MyISAM ?

  2. La Différence Entre [[ $a ==Z* ]] Et [ $a ==Z* ] ?

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

  4. Quelle est la différence entre $(CC) et $CC ?

  5. Quelle est la différence entre la route et la route IP ?

Quelle est la différence entre Linux et Unix ?

Quelle est la différence entre la connexion et le shell sans connexion

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 ?

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