web-dev-qa-db-fra.com

Bash Man Page: Kill <pid> vs kill -9 <pid>

Ma page d'homme ne documente pas la différence entre

kill <pid>

et

kill -9 <pid>

Puisque ces choses font des choses différentes pourquoi la -9 n'est-elle pas documentée dans le manuel kill? Je pensais que c'était peut-être des choses spécifiques à coquille, donc j'ai regardé dans la page d'homme Bash mais pas de chance .

Question bonus: Que fait le -9?

25
sixtyfootersdude

Le signal par défaut est terme qui permet au programme d'être tué de l'attraper et de faire un nettoyage avant de quitter. Un programme peut aussi l'ignorer si elle est écrite de cette façon.

Spécification -9 ou tuer comme signal ne permet pas au programme de l'attraper, faites-le ou ignorez-le. Il ne devrait être utilisé que comme dernier recours.

Pour voir la liste des chiffres et des noms de signaux dans Bash, utilisez kill -l (lettre ell).

J'utilise Ubuntu Linux.

Tuer les commandes envoie fondamentalement le signal au processus pour la mettre fin. Pour simplifier les attentes comportementales complexes de la commande de tuer de l'informatique quotidienne, diverses options avec elle.

Comme expliqué ci-dessus avec toutes les options de numéros de kill correspondant à sa définition.

Je voudrais ajouter quelques lignes à elle.

 1) SIGHUP   2) SIGINT   3) SIGQUIT  4) SIGILL   5) SIGTRAP
 6) SIGABRT  7) SIGBUS   8) SIGFPE   9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
16) SIGSTKFLT   17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG  24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM   27) SIGPROF 28) SIGWINCH    29) SIGIO   30) SIGPWR
31) SIGSYS  34) SIGRTMIN    35) SIGRTMIN+1  36) SIGRTMIN+2  37) SIGRTMIN+3
38) SIGRTMIN+4  39) SIGRTMIN+5  40) SIGRTMIN+6  41) SIGRTMIN+7  42) SIGRTMIN+8
43) SIGRTMIN+9  44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9  56) SIGRTMAX-8  57) SIGRTMAX-7
58) SIGRTMAX-6  59) SIGRTMAX-5  60) SIGRTMAX-4  61) SIGRTMAX-3  62) SIGRTMAX-2
63) SIGRTMAX-1  64) SIGRTMAX    

Comme vous le voyez ci-dessus, ce sont toutes des options de tuer que vous obtiendrez si vous exécutez Ubuntu Linux.

Mais certains signaux de tuerie sont courants sur tous les flavors * Nix.

kill -9 est l'option SIGKILL et le noyau ne peut pas ignorer ce signal, ce qui signifie qu'il a toujours honorable l'option de -9 ou SIGKILL et la sortie du processus de sortie immédiatement. N'oubliez pas que ce processus ne peut pas être traité par les programmes d'application.

kill -15 En revanche, Signalera le signal SIGTERM, ce qui signifie qu'il va attendre que le processus soit proprement arrêté avant la sortie. Ceci est le signal par défaut.

4
irfan