shell信号捕捉命令 trap
2018-01-12 11:58
711 查看
trap 命令
tarp命令用于在接收到指定信号后要执行的动作,通常用途是在shell脚本被中断时完成清理工作。例如:
脚本在执行时按下
CTRL+c时,将显示"program exit..."并退出(
CTRL+c的信号是SIGINT)
#!/bin/bash trap "ehco 'program exit...'; exit 2" SIGINT ....
信号
常用信号
信号名称 | 信号数 | 描述 |
---|---|---|
SIGINT | 2 | 程序终止(interrupt)信号, 在用户键入INTR字符(通常是Ctrl+C)时发出。 |
SIGQUIT | 3 | 和SIGINT类似, 但由QUIT字符(通常是Ctrl /)来控制. 进程在因收到SIGQUIT退出时会产生core文件, 在这个意义上类似于一个程序错误信号。 |
SIGFPE | 8 | 在发生致命的算术运算错误时发出. 不仅包括浮点运算错误, 还包括溢出及除数为0等其它所有的算术的错误。 |
SIGKILL | 9 | 用来立即结束程序的运行. 本信号不能被阻塞, 处理和忽略。 |
SIGALRM | 14 | 时钟定时信号, 计算的是实际的时间或时钟时间. alarm函数使用该信号。 SIGTERM |
捕获信号
trap的命令语法:
trap command signal
这里的
command
可以是linux命令,或用户定义的函数。signal
是信号名称或信号数,可以指定多个信号,以空格相隔。trap
在shell常见用途 脚本退出前执行命令
脚本在执行时按下
CTRL+c时,将显示"program exit..."并退出(
CTRL+c的信号是SIGINT)
shell trap "ehco 'program exit...'; exit 2" SIGINT
- 忽略信号
例:脚本运行时忽略
SIGINT
SIGQUIT
SIGFPE等信号
shell trap '' 2 3 8
相关文章推荐
- 在shell中捕捉信号的trap命令
- 【转】在shell中捕捉信号的trap命令
- shell - 使用命令trap来捕捉信号
- 在SHELL中捕捉信号的TRAP命令
- trap信号捕捉命令介绍与shell结合实战讲解
- 在shell中捕捉信号的trap命令
- shell中trap捕捉到信号的处理
- shell中trap捕捉到信号的处理
- linux命令:shell脚本编程知识点 信号捕捉trap mktemp ${#}
- 为shell布置陷阱:trap捕捉信号方法论
- 常用命令:如何使用命令trap来捕捉信号
- shell——trap捕捉信号(附信号表)
- trap在shell脚本中捕捉信号的方法.
- 使用命令trap来捕捉信号
- shell——trap捕捉信号(附信号表)
- trap在shell中捕捉信号
- trap命令用于在shell程序中处理信号
- shell脚本trap信号和服务器跳板机,mysql自动化脚本,检测主从复制
- 第九章 Shell信号发送与捕捉
- shell学习五十三天----捕获信号trap