GNU/Linux >> Tutoriels Linux >  >> Linux

Qu'est-ce que la commande kill sous Linux ?

Besoin de tuer un processus en cours d'exécution ? La commande kill sous Linux est conçue pour cela. Aucun système d'exploitation n'est parfait. Par conséquent, il est courant que votre système Linux doive faire face à des processus occasionnels qui ne répondent pas.

Pour gérer les cas où nous devons terminer un processus, nous utilisons la commande kill sous Linux.

Dans ce tutoriel, nous allons comprendre le fonctionnement de la commande kill. Plus tard, nous essaierons d'utiliser la commande kill pour nos besoins.

Principes de base de la commande kill

Il existe plusieurs utilitaires qui aident un utilisateur Linux à terminer les processus qui peuvent mal se comporter. L'un des utilitaires les plus couramment utilisés à cette fin dans la commande kill sous Linux.

La commande kill sous Linux est utilisée pour tuer manuellement un processus à l'aide de la ligne de commande. Il s'agit d'un utilitaire intégré au shell pour la plupart des shells dérivés du shell Bourne, tels que bash.

Les options de la version intégrée bash de la commande kill sous Linux sont légèrement différentes de l'exécutable autonome trouvé dans /bin/kill.

Cependant, pour les besoins de ce didacticiel, nous utiliserons la version intégrée bash de la commande kill. Pour vérifier tous les emplacements contenant la commande kill sur votre système, tapez la commande suivante dans votre terminal.

root@ubuntu:~# type -a kill
kill is a shell builtin
kill is /bin/kill

Vous devriez obtenir une sortie similaire à la capture d'écran ci-dessus. Cette sortie confirme que la version intégrée du shell de la commande kill a la priorité sur son exécutable autonome.

Par conséquent, l'utilisation de la commande kill exécutera la version intégrée de bash. Vous pouvez utiliser l'exécutable en utilisant le chemin complet de la commande comme /bin/kill/. Cependant, nous continuerons avec la version intégrée bash de la commande kill.

Kill commande sous Linux

La meilleure façon de comprendre une commande est de comprendre sa syntaxe. Voici à quoi ressemble la syntaxe de la commande kill sous Linux.

kill [option] PID

La commande tuer est utilisé pour envoyer un signal à un processus. Ce signal est déterminé par l'option utilisée lors de l'appel de la commande kill.

Traitez les signaux de fin avec la commande kill

Bien qu'il existe une grande variété d'options parmi lesquelles choisir, nous avons répertorié ici les plus couramment utilisées dans le tableau ci-dessous.

Option Numéro de signal Action
SIGTERM 15 Le signal SIGTERM est utilisé pour dire à un processus de se terminer normalement. Ce signal d'arrêt peut être interprété par le processus ou ignoré.
SIGKILL 9 Le signal SIGKILL est utilisé pour forcer l'arrêt d'un processus. C'est un signal qui ne peut en aucun cas être ignoré par le processus.
SIGHUP 1 Le signal SIGHUP est utilisé pour 'raccrocher' sur un processus. Cela peut être utilisé pour redémarrer un processus.
SIGINT 2 Le signal SIGINT est utilisé lorsque l'utilisateur veut interrompre un processus.

Si nous ne spécifions pas l'option, l'option par défaut sera utilisée pour la commande kill. L'option par défaut pour la commande kill sous Linux est SIGTERM. Les options peuvent être utilisées dans la commande kill de trois manières différentes.

Utiliser le numéro de signal

kill -9 [PID]

Avec le préfixe "SIG"

kill -SIGKILL [PID] 

Sans le préfixe "SIG"

kill -KILL [PID]

Quel est l'ID de processus (PID) lors de l'utilisation de la commande kill sous Linux ?

Passons au paramètre final, le PID. Le PID fait référence à l'ID de processus pour un certain processus. Chaque fois qu'un processus démarre, le noyau lui attribue un identifiant unique.

Nous utilisons le PID dans la commande kill sous Linux pour spécifier le processus auquel nous voulons envoyer le signal kill.

Le PID utilisé dans la commande kill peut avoir n'importe quelle valeur entière. Voici une liste contenant la valeur du PID et son effet sur la commande kill.

Valeur du PID Effet sur la commande kill
PID>0 Cela envoie le signal d'arrêt approprié au processus qui, en tant que PID, est égal au PID mentionné dans la commande.
PID=0 Cela envoie le signal d'arrêt approprié à tous les processus qui s'exécutent sous le même groupe que celui qui invoque la commande.
PID=-1 Cela envoie le signal d'arrêt approprié à tous les processus qui s'exécutent sous le même utilisateur que celui qui invoque la commande. Dans le cas où une telle commande serait invoquée par l'utilisateur root, le signal kill est envoyé à tous les processus sauf le processus kill et le processus init.
PID<-1 Cela envoie le signal kill approprié à tous les processus qui s'exécutent dans un groupe, de sorte que l'ID de groupe soit égal à la valeur absolue du PID utilisé dans la commande kill.

Lorsque nous voulons connaître le PID d'un processus, nous utilisons la commande suivante.

pidof <processname>

Cette commande renverra tous les PID pour le processus spécifié. Nous pouvons maintenant utiliser ce PID pour envoyer le signal d'arrêt souhaité au processus.

Utiliser la commande kill

Nous avons maintenant développé une compréhension de la commande kill sous Linux et de ses paramètres. Il est maintenant temps d'utiliser ces connaissances pour effectuer deux opérations courantes impliquant l'utilisation de la commande kill.

Tuer un processus

L'utilisation la plus courante de la commande kill sous Linux, comme son nom l'indique, consiste à tuer un processus. Ici, nous choisirons de tuer les principaux processus de commande sur notre système à l'aide de la commande kill.

Pour cette démonstration, j'ai simplement exécuté top sur plusieurs shells pour créer ces processus.

Pour ce faire, nous allons d'abord utiliser la commande suivante pour trouver les PID associés au processus de commande supérieur.

pidof top

Maintenant, nous utilisons le signal d'arrêt SIGKILL pour tuer tous les processus associés à la commande top.

Recharger un processus

Une autre fonction possible à l'aide de la commande kill sous Linux consiste à redémarrer un processus. Ceci est utile dans le cas où un service est en cours d'exécution mais qu'il doit relire son fichier de configuration pour activer les modifications récentes.

Par exemple, si vous souhaitez recharger le processus du serveur Lighttpd sur votre système, vous pouvez exécuter la commande suivante.

sudo kill -SIGHUP <process ID of Lighttpd>

Conclusion

Si un processus ne répond plus, il n'y a aucun moyen de le redémarrer. Les seules options disponibles sont de redémarrer notre système ou de mettre fin au processus particulier. Nous espérons que, grâce à ce didacticiel, vous avez pu développer une bonne compréhension de la commande kill.

Essayez la commande kill sous Linux par vous-même. Si vous avez des commentaires, des suggestions ou des commentaires, n'hésitez pas à nous contacter via la section des commentaires ci-dessous.


Linux
  1. Linux vs Unix :Quelle est la différence ?

  2. Maîtrisez la commande Linux ls

  3. La commande locate sous Linux

  4. Quelle est l'unité de taille par défaut dans la commande Linux ls -l

  5. Qu'est-ce que la commande d'exportation est censée faire sous Linux ?

La commande Linux tar expliquée

Qu'est-ce que le Shell sous Linux ?

Maîtrisez la ligne de commande Linux

Qu'est-ce que mon invite de commande Linux me dit?

La commande timer sous Linux

La commande Linux curl