logo

Commande de tuer

Qu'est-ce qu'une commande kill ?

Linux est un système d'exploitation avancé et performant ; cependant, ce n'est pas parfait. Quelques applications peuvent commencer à se comporter de manière négligente et devenir insensibles ou commencer à consommer plusieurs ressources système.

Les applications insensibles ne peuvent pas être redémarrées car le processus de candidature lui-même ne s'arrête jamais complètement. Une seule solution consiste soit à redémarrer le système, soit à arrêter le processus de l'application.

Il existe divers utilitaires qui nous permettent de mettre fin aux processus errants ainsi que le tuer commande. Cette commande est la plus largement utilisée sous Linux.

Dans Linux , la commande kill (située dans /bin/kill) peut être définie comme une commande intégrée.

Il est utilisé pour terminer manuellement les processus. Le comportement de la commande kill est légèrement différent selon les obus et les /bin/tuer exécutable autonome.

Nous pouvons appliquer la commande type pour afficher chaque emplacement de notre système contenant kill :

 $ type -a kill 

Commande de tuer

La commande kill transfère un signal vers un processus dans lequel termine le processus. Lorsque l'utilisateur ne décrit aucun signal à transférer avec la commande kill, alors le TERME un signal (par défaut) est transféré qui mettra fin au processus. Si le signal n'est pas décrit, il sera par défaut -quinze ( -TERME ).

Les signaux les plus largement appliqués sont les suivants :

    HUP (1)-Il recharge un processus.TUER (9)-Cela tue un processus.DURÉE (15)-Il arrête un processus avec élégance.

Nous pouvons utiliser la commande kill avec le -l option pour obtenir la liste de tous les signaux disponibles :

 $ kill -l 

Commande de tuer

Ces signaux peuvent être décrits de trois manières différentes. Ces moyens sont répertoriés ci-dessous :

  • Par numéro (par exemple -6)
  • Sans préfixe SIG (par exemple -kill)
  • Avec préfixe SIG (par exemple -SIGkill)

Les commandes ci-dessous sont similaires les unes aux autres :

  • $ tuer -SIGHUP PID_NUMBER
  • $ tuer -HUP PID_NUMBER
  • $ tuer -1 PID_NUMBER

Les PID attribués à la commande kill peuvent être n'importe qui parmi les suivants :

  1. Le signal sera transféré au processus avec un ID similaire au PID lorsque le PID est supérieur à zéro.
  2. Le signal sera transféré à chaque processus à l'intérieur du groupe de processus actuel lorsque le PID est équivalent à zéro. Cela signifie que le signal sera transféré à chaque processus lié au Shell GID qui demande la commande kill. Nous pouvons appliquer le ps -efj commande pour afficher les ID du groupe de processus (GID).
  3. Le signal sera transféré à chaque processus avec l'UID similaire en tant qu'utilisateur demandant la commande lorsque le PID est équivalent à -1. Si l'utilisateur demandeur est le root, alors le signal sera transféré à tous les processus, à l'exception des processus kill et init.
  4. Le signal sera transféré à chaque processus du groupe de processus avec un GID similaire à la valeur absolue du PID lorsque le PID est inférieur à -1.

Les utilisateurs réguliers sont en mesure de transférer des signaux à leurs processus. Cependant, cela n’inclut pas les utilisateurs liés à un autre utilisateur. D'un autre côté, l'utilisateur root est capable de transférer le signal vers les processus de l'autre utilisateur.

  • Le PID de -1 est tout à fait unique car il indique tous les processus à l'exception de init et kill, qui sont un processus parent de chaque processus sur le système.
  • Les valeurs négatives de PID sont utilisées pour indiquer l'ID du groupe de processus. Lorsque nous transmettons un ID de groupe de processus, chaque processus à l'intérieur de ce groupe recevra le signal.
  • Pour afficher la liste des processus en cours d'exécution, nous pouvons utiliser la commande ps et elle nous montrera les processus en cours d'exécution ainsi que le numéro PID. Nous devons donner le PID pour spécifier quel processus doit recevoir le signal de la commande kill.

Syntaxe:

 $ps 

Commande de tuer

ps aux: Cette commande est utilisée pour afficher chaque processus en cours d'exécution avec leurs PID et d'autres détails. Si nous ne connaissons pas l’ID du processus, nous pouvons utiliser cette commande.

Commande de tuer

Options de la commande kill

1. tuer -l : Cette option est utilisée pour afficher tous les signaux existants, nous pouvons appliquer l'option de commande suivante :

Syntaxe:

 $kill -l 

Commande de tuer

2. tuer pid : Cette option est utilisée pour montrer comment appliquer le PID avec la commande kill.

Syntaxe:

 $kill pid 

Commande de tuer

3. tuer -L : La commande kill -L peut être utilisée pour lister les signaux existants dans un format de tableau.

Syntaxe:

 /bin/kill -L 

Commande de tuer

4. Traduire le numéro de signal : Nous pouvons facilement traduire n'importe quel numéro de signal en nom de signal en utilisant la commande suivante :

 /bin/kill --list=12 

Commande de tuer