Android

Commande Kill sous Linux

How To Kill a Process On Linux Using Kill Command

How To Kill a Process On Linux Using Kill Command

Table des matières:

Anonim

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 façon irrégulière et ne répondent plus ou commencent à consommer beaucoup de ressources système. Les applications qui ne répondent pas ne peuvent pas être redémarrées car le processus de candidature d'origine ne s'arrête jamais complètement. La seule solution consiste à redémarrer le système ou à tuer le processus de demande.

Il existe plusieurs utilitaires qui vous permettent de mettre fin aux processus errants en éliminant les plus couramment utilisés.

kill Command

kill est un shell intégré à 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 l'exécutable autonome /bin/kill .

Utilisez la commande type 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 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 d'accès complet au fichier /bin/kill ., nous utiliserons le Bash intégré.

La syntaxe de la commande kill prend la forme suivante:

kill…

La commande kill 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 (-TERM).

Les signaux les plus couramment utilisés sont:

  • 1 ( HUP ) - Recharger un processus. 9 ( KILL ) - Tuez un processus. 15 ( TERM ) - Arrêtez gracieusement un processus.

Pour obtenir une liste de tous les signaux disponibles, appelez la commande avec l'option -l :

kill -l

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

  1. Utilisation d'un nombre (par exemple, -1 ou -s 1 ).Utilisation du préfixe «SIG» (par exemple, -SIGHUP ou -s SIGHUP ).Sans le préfixe «SIG» (par exemple, -HUP ou -s HUP ).

Les commandes suivantes sont équivalentes les unes aux autres:

kill -1 PID_NUMBER kill -SIGHUP PID_NUMBER kill -HUP PID_NUMBER

Les PID fournis à la commande kill peuvent être l'un des suivants:

  • Si le PID est supérieur à zéro, le signal est envoyé au processus avec un ID égal au PID . Si le 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 appelé la commande kill . Utilisez la commande ps -efj 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 invoquant la commande. Si l'utilisateur appelant est root, le signal est envoyé à tous les processus sauf init et le processus kill . Si PID est inférieur à -1 , le signal est envoyé à tous les processus du groupe de processus eq avec GID égal à la valeur absolue de le PID .

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

Arrêt des processus à l'aide de la commande kill

Pour terminer ou tuer un processus avec la commande kill , 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 tuer le processus Firefox. Pour trouver les PID du navigateur, utilisez la commande pidof :

pidof firefox

La commande affichera les ID de tous les processus Firefox:

6263 6199 6142 6076

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

kill -9 2551 2514 1963 1856 1771

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

kill -9 $(pidof firefox)

Rechargement des processus à l'aide de la commande kill

Un autre cas d'utilisation courant pour kill est d'envoyer le signal HUP , 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 fichier nginx.pid , qui se trouve généralement dans le répertoire /var/run .

Utilisez la commande cat 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 des privilèges sudo.

Conclusion

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

tuer le terminal