linux信号与trap命令

哥哥的CSDN集 2020-05-06

使用 trap -l 或者 kill -l 来查看信号的编号及关联的名称

[ ~]$ 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

trap 命令语法:

trap 执行的shell命令 signal                #signal为接收到的信号,可以是信号的编号,也可以是信号名

trap ‘命令 ;命令‘ signal                        #接收到信号后,执行多条命令。

trap ‘命令 ;命令‘ signal signal  signal           #同时接收多个信号后

例如:trap ‘:‘ INT EXIT TSTP TERM HUP         #<==屏蔽这些信号,通常部署在跳板机上,用来保护跳板机的限制脚本。

重要信号及说明

1) HUP       挂起,通常因终端掉线或用户退出引发
2) INT       中断,通常按 Ctrl+c 组合键引发
3) QUIT      退出,通常按 Ctrl+\组合键引发
6) ABRT      中止,通常因某些执行错误引发
14)ALRM     报警,通常用来处理超时
15)TERM     终止,通常在关机的时候发送
20)TSTP     停止进程运行,通常按 Ctrl+z 组合键引发
 

相关推荐