我通常使用kill
命令来杀死进程。有时它不是只用kill
命令杀死的。然后我使用-9
选项。我检查了 kill 命令的手册页。
$ 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
-9
和有什么区别-19
?
当您使用
kill
时,它通常会发送SIGTERM
(15)。SIGSTOP
(19) 用于“暂停”一个过程,以便稍后与SIGCONT
(18) 一起恢复。SIGTERM
和SIGKILL
(9)之间的区别在于它SIGKILL
不能被接收进程“捕获”并导致立即(并且不干净!)终止。“无法捕获”的部分很重要 -SIGKILL
并且SIGSTOP
是唯一不能被安装了信号处理程序的进程“捕获”的信号,因此它们可以保证工作。如果你想要一个有趣的脑筋急转弯,它实际上是在我曾经接受过的一次技术面试中出现的,请查看 和 之间的区别
SIGSTOP
、SIGTSTP
它们的使用位置以及它们之间的不同之处。(我已经给了你一个提示......)这是一个很好的 *NIX 传说。