bash编程的信号捕获:
kill -l
KILL无法捕捉;
 
trap 'COMMAND' SIGNAL, 
 
信号捕捉用于:在中途中止时做一些清理操作。
 
一. trap捕捉到信号之后,可以有三种反应方式: 
  (1)执行一段程序来处理这一信号 
  (2)接受信号的默认操作 
  (3)忽视这一信号 
 
 
  1. 第一种形式的trap命令在shell接收到signal list清单中数值相同的信号时,将执行双引号中的命令串。
  2.   trap 'commands' signal-list
  3.   trap "commands" signal-list
  4.   为了恢复信号的默认操作,使用第二种形式的trap命令:
  5.   trap signal-list
  6.   第三种形式的trap命令允许忽视信号
  7.   trap " " signal-list  
 
 
 
 
使用示例:
#!/bin/bash
#
trap 'echo quit;date' EXIT
for i in {1..2}; do
 if ping -w 1 -c 1 172.16.254.$i &> /dev/null; then
    echo "172.16.254.$i is up."
  else
    echo "172.16.254.$i is down."
  fi
done

bash编程的信号捕获:的更多相关文章

  1. Linux Shell脚本编程-信号捕获

    bash编程的信号捕获:  kill -l 显示当前系统可用信号(trap -l)  获取帮助:man 7 single 常用信号: 1) SIGHUP  无须重启进程而让其重读配置文件  2) SI ...

  2. shell编程之服务脚本编写,文件锁以及信号捕获

    shell脚本编程是linux运维工程师必备的技能,也是非常重要的一个技能,所以把shell编程学好,只有好处.基础语法我也就不讲了,学过C语言这些语言的,稍微看一下就能明白shell编程的基础,所以 ...

  3. bash编程基础

    bash变量 变量命名: 1.不能使用程序中的关键字(保留字) 2.只能使用数字.字母和下划线,且不能以数字开头 3.要见名知义 变量类型: 数值型:精确数值(整数),近似数值(浮点型) 字符型:ch ...

  4. bash编程之多分支if 语句及for循环

    第十七章.bash编程之多分支if 语句及for循环 if语句三种格式 多分支if语句练习 for循环 17.1.if语句的三种格式 单分支if语句 if condition;then 条件为真执行的 ...

  5. bash编程总结

    bash应该是目前Linux上最流行的shell脚本解释程序了(还有个shell叫dash,我太讨厌这个东东了.),只要你在linux上工作,并且希望自己能够工作得更愉悦,那么你应该熟悉最基本的bas ...

  6. Linux中bash编程

    bash编程也叫shell编程 预定义变量         $? 最后一次执行的命令的返回状态.如果这个变量的值为0,证明上一个命令正确的执行:如果这个变量返回的值非0(具体是那个数,有命令自己来决定 ...

  7. bash编程之循环控制:

    bash编程之循环控制: for varName in LIST; do 循环体 done   while CONDITION; do 循环体 done   until CONDITION; do 循 ...

  8. [shell] Bash编程总结

    由于工作需要,之前的几个月写了一些Bash脚本,主要完成自动测试.打包.安装包等.虽然相比C++编程,要简单.傻瓜,但其在类Unix系统中可以大大提高工作的效率.所以在此对脚本编程过程中一些注意事项进 ...

  9. 怎样用 Bash 编程:逻辑操作符和 shell 扩展

    学习逻辑操作符和 shell 扩展,本文是三篇 Bash 编程系列的第二篇. Bash 是一种强大的编程语言,完美契合命令行和 shell 脚本.本系列(三篇文章,基于我的 三集 Linux 自学课程 ...

随机推荐

  1. Codevs 1523 地精部落

    1523 地精部落 省队选拔赛  时间限制: 1 s  空间限制: 256000 KB  题目等级 : 大师 Master 题解       题目描述 Description 传说很久以前,大地上居住 ...

  2. [Xcode 实际操作]八、网络与多线程-(21)延时启动画面:使用Thread线程对象的延时方法

    目录:[Swift]Xcode实际操作 本文将演示如何使用线程对象的延时方法,让线程休眠一段时间,暂停动作的执行. 在项目导航区,打开启动画面的故事板[LaunchScreen.storyboard] ...

  3. Tcl/Tk语言学习------拆分字符串

    字符串的拆分 前言 字符串的处理是每种语言经常会遇到的问题,tcl作为一门脚本语言自然也不例外,关于字符串的拆分,一般会有两种情况:1.使用单个字符拆分,2.使用字符串拆分. 1.使用单个字符拆分字符 ...

  4. ISCC 2018线上赛 writeup

    今天有机会去ISCC2018参加了比赛,个人的感受是比赛题目整体难度不高,就是脑洞特别大,flag形式不明确,拿到flag后也要猜测flag格式,贼坑 废话不多说,以下是本人的解题思路 MISC 0x ...

  5. react native 获取地图需要的SHA1

    1.从电脑的根目录进入.android文件 2.进入.android文件后输入 keytool -v -list -keystore debug.keystore 3.回车输入密码,(可以直接回车不用 ...

  6. CF1138D.Camp Schedule

    传送门 虽然是D,但是还是Sb题,把模式串跑一遍KMP,然后把按顺序放,每次放完之后跳到对应的前缀,继续放. 如果最后1的数量还有剩,再将最后的位数全部放1 代码: #include<cstdi ...

  7. Verify the Developer App certificate for youraccount is trusted on your device

    运行时报错-Verify the Developer App certificate for youraccountis   trusted on your device. Open Settings ...

  8. RTT

    Segger RTT的使用 一般arm系统中,如何通过电脑键盘和显示器同mcu进行交互最有效的有两种形式:arm7的semihost,cm时代的traceswo.现在jlink推出了颇具特色的rtt( ...

  9. python学习之图形界面编程:

    一 tkinter:tkinter是python自带的支持tk的库,python代码调用tkinter->tk->操作系统提供的本地GUI(TKL语言开发))完成界面开发,不需要安装任何第 ...

  10. [转][android][利用JNI技术在Android中调用、调试C++代码]

    在Android中调用C++其实就是在Java中调用C++代码,只是在windows下编译生成DLL,在Android中会生成Linux系统下的.so文件(好吧,其实我基本没用过Linux). 没写过 ...