kill
envoie juste un signal au processus donné. Le lui -9
indique quel signal envoyer.
Des nombres différents correspondent à différents signaux communs. SIGINT
, par exemple, est 2, donc pour envoyer un processus, le SIGINT
signal émet la commande
$ kill -2 <pid>
La page de manuel ici précise:
Le signal par défaut pour kill est TERM.
La page de manuel fournit également un tableau des signaux que vous pouvez envoyer. Selon ce tableau, TERM
est 15
, donc ce sont tous équivalents:
kill <pid>
kill -15 <pid>
kill -TERM <pid>
L'avis 9 est le KILL
signal.
Name Number Action
-----------------------
ALRM 14 exit
HUP 1 exit
INT 2 exit
KILL 9 exit this signal may not be blocked
PIPE 13 exit
POLL exit
PROF exit
TERM 15 exit [Default]
USR1 exit
USR2 exit
VTALRM exit
STKFLT exit may not be implemented
PWR ignore may exit on some systems
WINCH ignore
CHLD ignore
URG ignore
TSTP stop may interact with the shell
TTIN stop may interact with the shell
TTOU stop may interact with the shell
STOP stop this signal may not be blocked
CONT restart continue if stopped, otherwise ignore
ABRT 6 core
FPE 8 core
ILL 4 core
QUIT 3 core
SEGV 11 core
TRAP 5 core
SYS core may not be implemented
EMT core may not be implemented
BUS core core dump may fail
XCPU core core dump may fail
XFSZ core core dump may fail
kill <pid>
) est TERM.KILL
etSTOP
sont des signaux dits non capturables. Cela signifie que lorsqu'unTERM
signal est envoyé à un processus, il est capable de l'attraper et d'effectuer diverses opérations "d'arrêt" qu'il doit effectuer. LeKILL
signal arrête immédiatement le processus.man 7 signal
Le signal par défaut est TERM qui permet au programme en cours de suppression de l'attraper et de faire un nettoyage avant de quitter. Un programme peut également l'ignorer s'il est écrit de cette façon.
Spécifier -9 ou KILL comme signal ne permet pas au programme de l'attraper, de faire un nettoyage ou de l'ignorer. Il ne doit être utilisé qu'en dernier recours.
Pour voir la liste des nombres et des noms de signaux dans Bash, utilisez
kill -l
(lettre ell).la source
J'utilise Ubuntu Linux.
Les commandes Kill envoient essentiellement un signal au processus pour y mettre fin. Pour simplifier les attentes comportementales complexes de l'informatique de tous les jours, la commande kill comporte diverses options.
Comme expliqué ci-dessus avec toutes les options de numéros de kill correspondant à sa définition.
Je voudrais y ajouter quelques lignes.
Comme vous le voyez ci-dessus, ce sont toutes des options de suppression que vous obtiendrez si vous exécutez Ubuntu Linux.
Mais certains signaux d'arrêt sont communs à toutes les versions * NIX.
kill -9 est l'option SIGKILL et le noyau ne peut pas ignorer ce signal, ce qui signifie qu'il doit honorer cette option -9 ou SIGKILL et quitter le processus immédiatement. N'oubliez pas que ce processus ne peut pas être géré par les programmes d'application.
kill -15, d'autre part, enverra un signal SIGTERM, ce qui signifie qu'il attendra que le processus s'arrête proprement avant de quitter. Il s'agit du signal par défaut.
la source