shell trap信号处理

来源:互联网 发布:淘宝的试衣间在哪 编辑:程序博客网 时间:2024/05/17 08:36

shell中trap可设置脚本的信号处理函数,格式如下:

trap signal_handler HUP INT QUIT TSTP TERM EXIT

注:

1、signal_handler 是信号处理函数;

2、HUP INT QUIT TSTP TERM EXIT 是相关信号。

3、如果要重置某个信号的处理条件到其默认值,只需简单的将command设置为-。

4、如果要忽略某个信号,就把command设置为空字符串‘’。一个不带参数的trap命令将列出当前设置的信号及其行动的清单。

表2-11列出了X/Open规范里面规定的能够被捕获的比较重要的一些信号(括号里面的数字是传统的信号编号)。更多细节请参考signal在线手册的第七部分(man 7 signal)。

表 2-11

信     号

说     明

HUP(1)

挂起,通常因终端掉线或用户退出而引发

INT(2)

中断,通常因按下Ctrl+C组合键而引发

QUIT(3)

退出,通常因按下Ctrl+/组合键而引发

ABRT(6)

中止,通常因某些严重的执行错误而引发

ALRM(14)

报警,通常用来处理超时

TERM(15)

终止,通常在系统关机时发送


另外在Bash还有两个伪信号:

代码:
EXIT shell从脚本中退出后发送该信号
DEBUG shell执行完一条语句后发送该信号





0 0