文章目录
1.各种信号
1信号:hub 进程重新读取对应的配置文件
2信号:中断------ctrl+c 就会触发该信号
3信号:
9信号
15
18
19
2.信号捕捉trap
Trap捕获某个信号,不去做原有的操作,只操作自己指定的操作
trap '触发指令' 信号进程收到系统发出的指定信号后,将执行自定义指令,而不会执行原操作trap '' 信号忽略信号的操作trap '-' 信号恢复原信号的操作trap -p列出自定义信号操作trap finish EXIT 当脚本退出时,执行finish函数
例如:
捕获2信号(int)
Int 就是2信号
单引号引起来—触发指令
按ctrl+c就会触发指令Trap ‘’ 信号 不会执行任何操作
Trap ‘’ 信号 将信号还原
3.finish函数
脚本执行一半就退出----就会产生一些垃圾文件
为了避免垃圾文件的产生
所以就用finish函数 及exit命令
用这种方式处理异常退出
Finish中写一些清理临时文件的操作
Trap finish exit 当执行exit退出时,就会触发finish函数
Exit退出(无论什么退出)都执行finish
实例
#!/bin/bash
trap ‘echo “signal:SIGINT"’ int
trap -p
for((i=0;i<=10;i++))
do
sleep 1
echo $i
done
trap ‘’ int
trap -p
for((i=11;i<=20;i++))
do
sleep 1
echo $i
done
trap ‘-’ int
trap -p
for((i=21;i<=30;i++))
do
sleep 1
echo $i
done