当前位置:首页 > 嵌入式培训 > 嵌入式学习 > 讲师博文 > linuxtrap脚本信号捕获命令的使用

linuxtrap脚本信号捕获命令的使用 时间:2019-03-27      来源:华清远见

linux的信号,可以用于进程间通信,还可以用于系统向进程发送命令。比如当系统关机的时候,需要通知每一个进程做善后工作,系统会对每个进程发送SIGTERM信号。进程在收到信号之后就会做一些清理动作。你也可以手动发送一些信号,比如“Ctrl+C”会像指定的进程发送SIGINT信号,如果进程没有指定捕获信号动作,那就默认的动作就是挂掉。linux系统信号非常多,常见的信号有:

linux开发

在一个进程中,捕获信号需要用到注册信号函数signal,那么在一个shell脚本中如何去捕获信号,并处理信号呢?需要使用到linux提供的命令trap,trap的用法:

trap cmd sigVALUE

trap 动作 要捕获的信号

例如:trap “echo ‘I got signal INT’ ” SIGINT

在默认的情况下,对shell脚本发送Ctrl+C会导致脚本的退出,如果加上捕获命令,则直接捕获并做相应处理,处理动作是由你来指定的。

接下来我们写几个例子来演示如何使用。

例1:捕获信号并处理

linux开发

结果如下所示:

linux开发

例2: 还可以捕获 shell退出的消息

trap comand EXIT

linux开发

结果如下:

linux开发

上一篇:linux开发:linux内存加载动态库?

下一篇:Linux开发:echo命令详解

热点文章推荐
华清学员就业榜单
高薪学员经验分享
热点新闻推荐
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2018 北京华清远见科技发展有限公司 版权所有 ,京ICP备16055225号,京公海网安备11010802025203号