Linux学习63 shell脚本高级编程-信号捕捉实战

一、练习题

  1、写一个脚本

  2、将循环改成while循环

    

  3、写一个脚本,实现:

    a、能探测C类,B类或A类网络中的所有主机是否在线

      

    b、提示用户输入一个IP地址或网络地址,获取其网络,并扫描其网段

二、信号捕捉

  1、trap命令

    a、列出信号

      (1)、trap -l

      (2)、kill -l

      (3)、man 7 signal

    b、信号是进程间通信的一种机制,而trap命令是shell进程自定义如何捕捉信号的,但是,trap不能够捕捉Tremil信号和KILL信号,即15号信号和9号信号,因为捕捉信号的目的在于可以定义一旦信号到达我们可以做什么操作,即可以定义不是其默认操作,这样一来可以想象如果一个进程可以捕捉KILL信号,那么任何人KILL他的时候他都可以说杀不死,即刀枪不入,这是不可取的。

  2、现在我们来写一个脚本来捕捉信号

    a、脚本如下

      

    b、上面我们表示捕捉INT信号,然后我们执行脚本进行ping命令的时候当Ctrl + C中断时就会捕捉到此信号并输出echo的内容

      

    c、另一种形式,即我们脚本捕捉到相应的信号并通过我们的命令来处理这个捕捉到的信号的相应事件该怎么进行,比如下面的脚本就是输出Quit并退出

      

  3、trap用法

    a、trap 'COMMAND' SIGNALS

    b、常可以进行捕捉的信号

      HUP,INT

    c、用法示例

      

猜你喜欢

转载自www.cnblogs.com/Presley-lpc/p/12654299.html
今日推荐