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

Ma page man ne documente pas la différence entre

kill <pid> 

et

 kill -9 <pid> 

Puisque cela fait différentes choses, pourquoi le document -9 n'est-il pas documenté dans la page de manuel kill ? Je pensais que c'était peut-être une coquille des choses spécifiques, alors j'ai regardé dans la page bash man, mais pas de chance.

Question bonus: qu'est-ce que le -9 fait?

3 Solutions collect form web for “Bash Man Page: kill <pid> vs kill -9 <pid>”

kill vient d'envoyer un signal au processus donné. Le -9 indique quel signal envoyer.

Les différents nombres correspondent à différents signaux communs. SIGINT , par exemple, est 2, donc pour envoyer un processus, le signal SIGINT émet la commande

 $ kill -2 <pid> 

La page de manuel spécifie ici :

Le signal par défaut pour kill est TERM.

La page de manuel fournit également un tableau de signaux que vous pouvez envoyer. Selon ce tableau, TERM est 15 , donc tout cela est équivalent:

 kill <pid> kill -15 <pid> kill -TERM <pid> 

L'avis 9 est le signal KILL .

  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 

Le signal par défaut est TERM qui permet au programme d'être tué pour l'attraper et faire un nettoyage avant de sortir. Un programme peut l'ignorer aussi, s'il est écrit de cette façon.

Spécifier -9 ou KILL car le signal ne permet pas au programme de l'attraper, de faire un nettoyage ou de l'ignorer. Il ne devrait être utilisé qu'en dernier recours.

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

J'utilise Ubuntu Linux.

Les commandes kill commandent essentiellement le signal à traiter pour le finir. Pour simplifier les attentes comportementales complexes de l'ordre quotidien, la commande kill a plusieurs options avec elle.

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

J'aimerais ajouter quelques lignes.

  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 les options de destruction que vous obtiendrez si vous exécutez Ubuntu Linux.

Mais certains signaux de tuer sont communs dans tous les arômes * NIX.

Kill -9 est l'option SIGKILL et le noyau ne peut pas ignorer ce signal, ce qui signifie qu'il a honoré cette option -9 ou SIGKILL et que le processus de sortie immédiatement. Rappelez-vous que ce processus ne peut pas être traité par les programmes d'application.

Kill -15 d'autre part enverra le signal SIGTERM, ce qui signifie qu'il attendra que le processus soit éteint avant sa sortie. C'est le signal par défaut.

  • Comment trouvez-vous le processus parental d'un processus zombie?
  • Est-il possible de créer des fichiers arbitraires instantanément?
  • Comment puis-je rechercher l'historique bash et relancer une commande?
  • Existe-t-il un équivalent Windows de la commande "strings" Unix?
  • Comment vérifier l'espace disque utilisé par mon linux?
  • Comprendre la commande supérieure dans unix
  • Exclure tous les répertoires cachés dans UNIX find
  • Les problèmes potentiels avec l'ajout / usr / local / bin au chemin de la racine?
  • Quel est le programme d'installation officiel des paquets Unix sur Mac OS?
  • Du vs df output
  • Quelle est la différence entre les commandes "su -s" et "sudo-s"?
  • Soyons le génie de l'ordinateur et du réseau.