退出进程的常用信号
参考: GNU libc
$ 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
退出信号:
SIGTERM
- 有礼貌的请求进程正常退出。进程应当按部就班地清理资源并正常终止。关机过程中会触发这个信号。SIGQUIT
- 强力的要求进程退出。进程应当快速清理资源并退出。可以通过Ctrl
+\
触发。SIGKILL
- 强制杀死进程。这个信号不能被阻塞。
不是退出信号但通常用于退出的信号:
SIGHUP
- 终端挂断。关闭终端、退出SSH等操作会触发这个信号。SIGINT
- 中断。可以通过Ctrl
+C
触发。
其它常用信号:
SIGSTOP
- 暂停程序执行。和SIGKILL
一样,不能被阻塞,可以通过Ctrl
+Z
触发。SIGCONT
- 恢复程序执行。可以通过fg
命令触发。
另外常用来退出当前程序的 Ctrl
+ D
发送的是 EOF
,而不是信号。