GNU/Linux >> Tutoriels Linux >  >> Linux

Commande Kill sous Linux

Linux est un système d'exploitation génial et avancé, mais il n'est pas parfait. De temps en temps, certaines applications peuvent commencer à se comporter de manière erratique et ne plus répondre ou commencer à consommer beaucoup de ressources système. Les applications qui ne répondent pas ne peuvent pas être redémarrées car le processus d'application d'origine ne s'arrête jamais complètement. La seule solution est de redémarrer le système ou de tuer le processus d'application.

Il existe plusieurs utilitaires qui vous permettent de terminer les processus errants avec kill étant le plus couramment utilisé.

kill Commande #

kill est un shell intégré dans la plupart des shells dérivés de Bourne tels que Bash et Zsh. Le comportement de la commande est légèrement différent entre les shells et le standalone /bin/kill exécutable.

Utilisez le type commande pour afficher tous les emplacements de votre système contenant kill :

type -a kill
kill is a shell builtin
kill is /bin/kill

La sortie ci-dessus indique que le shell intégré a la priorité sur l'exécutable autonome et qu'il est utilisé chaque fois que vous tapez kill . Si vous souhaitez utiliser le binaire, tapez le chemin complet du fichier /bin/kill . Dans cet article, nous utiliserons la fonction intégrée Bash.

La syntaxe du kill commande prend la forme suivante :

kill [OPTIONS] [PID]...

Le kill La commande envoie un signal aux processus ou groupes de processus spécifiés, les obligeant à agir en fonction du signal. Lorsque le signal n'est pas spécifié, sa valeur par défaut est -15 (-TERME).

Les signaux les plus couramment utilisés sont :

  • 1 (HUP ) - Recharger un processus.
  • 9 (KILL ) - Arrêter un processus.
  • 15 (TERM ) - Arrêtez un processus avec grâce.

Pour obtenir une liste de tous les signaux disponibles, invoquez la commande avec le -l choix :

kill -l

Les signaux peuvent être spécifiés de trois manières différentes :

  1. Utiliser un nombre (par exemple, -1 ou -s 1 ).
  2. Utiliser le préfixe "SIG" (par exemple, -SIGHUP ou -s SIGHUP ).
  3. Sans le préfixe "SIG" (par exemple, -HUP ou -s HUP ).

Les commandes suivantes sont équivalentes :

kill -1 PID_NUMBERkill -SIGHUP PID_NUMBERkill -HUP PID_NUMBER

Les PID fournis au kill la commande peut être l'une des suivantes :

  • Si PID est supérieur à zéro, le signal est envoyé au processus avec ID égal au PID .
  • Si PID est égal à zéro, le signal est envoyé à tous les processus du groupe de processus en cours. En d'autres termes, le signal est envoyé à tous les processus appartenant au GID du shell qui a invoqué le kill commande. Utilisez ps -efj commande pour afficher les ID de groupe de processus (GID).
  • Si PID est égal à -1 , le signal est envoyé à tous les processus avec le même UID que l'utilisateur appelant la commande. Si l'utilisateur appelant est root, le signal est envoyé à tous les processus sauf init et kill processus lui-même.
  • Si PID est inférieur à -1 , le signal est envoyé à tous les processus du groupe de processus eq avec GID égal à la valeur absolue du PID .

Les utilisateurs réguliers peuvent envoyer des signaux à leurs propres processus, mais pas ceux qui appartiennent à d'autres utilisateurs, tandis que l'utilisateur root peut envoyer des signaux aux processus d'autres utilisateurs.

Terminer les processus à l'aide de kill Commande #

Pour terminer ou tuer un processus avec le kill commande, vous devez d'abord trouver le numéro d'identification du processus (PID). Vous pouvez le faire en utilisant différentes commandes telles que top , ps , pidof et pgrep .

Disons que le navigateur Firefox ne répond plus et que vous devez arrêter le processus Firefox. Pour trouver les PID du navigateur, utilisez le pidof commande :

pidof firefox

La commande imprimera les identifiants de tous les processus Firefox :

6263 6199 6142 6076

Une fois que vous connaissez les numéros de processus, vous pouvez tous les tuer en envoyant le TERM signaler :

kill -9 6263 6199 6142 6076

Au lieu de rechercher des PID puis de tuer les processus, vous pouvez combiner les commandes ci-dessus en une seule :

kill -9 $(pidof firefox)

Rechargement des processus à l'aide de kill Commande #

Un autre cas d'utilisation courant pour kill est d'envoyer le HUP signal, qui indique aux processus de recharger ses paramètres.

Par exemple, pour recharger Nginx, vous devez envoyer un signal au processus maître. L'ID de processus du processus maître Nginx se trouve dans le nginx.pid fichier, qui est généralement situé dans le /var/run répertoire.

Utilisez le cat commande pour trouver le PID maître :

cat /var/run/nginx.pid
30251

Une fois que vous avez trouvé le PID maître, rechargez les paramètres Nginx en tapant :

sudo kill -1 30251

La commande ci-dessus doit être exécutée en tant que root ou utilisateur avec sudoprivileges.

Conclusion #

Le kill La commande est utilisée pour envoyer un signal aux processus. Le signal le plus fréquemment utilisé est SIGKILL ou -9 , qui termine les processus donnés.

Si vous avez des questions ou des commentaires, n'hésitez pas à laisser un commentaire.


Linux
  1. Comment tuer un processus zombie sous Linux

  2. Comment tuer un processus sous Linux en utilisant la commande ?

  3. kill Exemples de commandes sous Linux

  4. Exemples de commandes renice sous Linux

  5. Exemples de commandes pkill sous Linux

Commande Pstree sous Linux

Commande W sous Linux

À la commande sous Linux

5 façons rapides de tuer un processus sous Linux

Comment tuer un processus sous Linux

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