shell Trap命令用法

Posted uxiuxi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell Trap命令用法相关的知识,希望对你有一定的参考价值。

[root@localhost prog]# cat trap2.sh
#!/bin/bash

function cleanup()
{
        echo "Received signals and cleanup files"
}

#trap 到SIG信号,自动停止
trap  \'cleanup;exit 1\' SIGHUP
trap  \'cleanup;exit 1\' SIGINT

trap  \'cleanup;exit 1\' SIGTRAP
#SIGKILL can not be traped
while :
do
        echo "Hi there"
        sleep 1
done
[root@localhost prog]#

  

[root@localhost prog]# cat trap4.sh
#!/bin/bash

trap \'cleanup\' SIGINT
function cleanup()
{
        echo "call function"
        trap - SIGINT    #遇到一次SIGINT, 就会清除掉trap捕捉SIGINT
}
while :
do
        echo "hello aaa"
        sleep 2
done

  

[root@localhost prog]# cat trap5.sh
#!/bin/bash

cleanup_new()
{
        echo "Some new and extra cleanup performed"
        trap - SIGINT   #第三次TRAP 加exit。消除SIGINT
}

cleanup_old()
{
        echo "Some cleanup performed"
        trap cleanup_new SIGINT    #第二次继续trap INT
}

trap \'cleanup_old SIGINT\' SIGINT  #第一次trap SIGINT

while true
do
        echo \'hello\'
        sleep 1
done
[root@localhost prog]#

  

 

 

#!/bin/bash trap "echo trap ctrl+c" SIGINT while : do echo "Hi there" sleep 1 done #通过kill -l 命令可以看到,ctrl+C等同SIGINT,不会打断,但是会trap到所以显示trap ctrl+c

  

以上是关于shell Trap命令用法的主要内容,如果未能解决你的问题,请参考以下文章

shell信号捕捉命令 trap

Linux命令——trap

markdown 有关trap命令的Shell脚本知识

Linux的shell脚本trap信号处理

Shell Trap信号管理

老男孩教育每日一题-第69天-shell脚本知识点:linux系统脚本中trap信号都有哪些,如何进行使用?