退出进程的常用信号

退出进程的常用信号

参考: 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,而不是信号。

作者: PlanC
2024-12-18 21:18:31+08:00