折腾:
[已解决]运行gunicorn失败:[ERROR] Connection in use 127.0.0.1 8080
期间,看到一个:
kill -9
需要去搞懂对应含义。
搜:
kill 9 meaning
bash – What is the purpose of the -9 option in the kill command? – Ask Ubuntu
Name Num Action Description KILL 9 exit cannot be blocked The command kill sends the specified signal to the specified process or process group. If no signal is specified, the TERM signal is sent. The TERM signal will kill processes which do not catch this signal. For other processes, it may be necessary to use the KILL (9) signal, since this signal cannot be caught. |
Unix signal – Wikipedia, the free encyclopedia
[总结]
kill的语法是:
<code>kill -<signal> <pid> </code>
-》
<code>kill -<信号名称> <进程的ID> </code>
-》此处,用数字去方便的记录对应的信号的名称
-》9对应着就是KILL信号
-》
<code>kill -9 PID == kill -KILL PID == kill -SIGKILL PID </code>
-》
kill 和 kill -9 的区别就是:
- kill 是向对应进程发送TERM信号
- kill -9 是向对应进程发送KILL信号
-》
TERM信号和KILL信号的区别:
正常进程接收到TERM都会终止掉
但是对应一些特殊情况,比如进程无响应,进程已被冻结
则无法正常响应TERM,从而无法正常终止
KILL信号,可以终止这些,包括特殊的无响应的,已被冻结的进程
TERM:应用将要被终止,比如,可以正常的执行相关的关闭shutdown等函数
KILL:应用被立刻停止掉和杀掉,其可能会导致数据丢失或有时候会触发上报崩溃
-》
kill使用了-9参数,可以确保进程可以被有效地,真正地被杀掉。
即使对于一个冻结了的或无响应的进程,其可能无法响应默认的kill所发出的TERM信号,则都可以在收到-9发出的KILL信号而被终止掉。
[引申]
信号名称 | 本意 | 等价的快捷键或命令 | 详细解释 |
SIGHUP | hangup挂起 | ||
SIGINT | interrupt中断 | 快捷键:Control+C | |
SIGTERM | terminate终止 | 命令:kill或killall | |
SIGTSTP | terminal stop终端停止 | 快捷键:Control+Z | |
SIGSTOP | stop停止 | ||
SIGPIPE | pipe closed管道被关闭 | 告诉程序其管道被关闭了,通常也意味着结束了程序。比如 cat /etc/passwd | head -n1 (当第一行输出)执行完毕后,会发送SIGPIPE给cat进程,就停止输出了(不会继续cat该文件后续内容了) -》 可以理解为通过PIPE管道接受了被停止的命令 | |
SIGQUIT | quit退出 | 快捷键:Control + \ |
-》
关于更多的kill中所涉及的信号,可以通过kill -l看到:
kill -l HUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH POLL PWR SYS |
但是没有数字。
网上别人的:
Why number 9 in kill -9 command in unix? – Stack Overflow
kill -l可以输出带数字的信号:
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 |
转载请注明:在路上 » [整理]kill -9的含义