开发者社区> 问答> 正文

写一个简单的shell脚本,脚本运行时让CTRL+C无法中断的该shell脚本?

写一个简单的shell脚本,脚本运行时让CTRL+C无法中断的该shell脚本?

展开
收起
游客py5kcp7dd6tu6 2022-03-31 01:45:11 3767 0
1 条回答
写回答
取消 提交回答
  • 这里先做一个简单的介绍,在shell脚本中用trap命令捕获SIGINT信号就可以做到忽略系统传输的中断信号,比如,ctrl+c产生的中断信号。

    系统给出的SIGINT信号数字为2或者直接写信号名称也可以

    豪鹫这里给出一个简单的例子吧,脚本如下:

    [root@haojiu ~]# cat vmstat.sh

    #!/bin/bash

    #script usinf for ignore system sigint.

    #create by haojiu.

    #date 2015-x-x

    #在循环执行命令前面使用trap "" 2或者trap "" SIGINT,两者任选其一

    #trap "" 2

    trap "" SIGINT

    vmstat 2 10

    通常情况下,如果没有加入trap "" 2或者trap "" SIGINT这条命令时,直接执行vmstat 2 10,在脚本的执行过程中,是可以通过按住CTRL+C来中断脚本的运行的,但如果加入trap命令之后,脚本在执行过程中会忽略收到的信号SIGINT,而不做任何处理。

    2022-03-31 01:45:34
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Shell 脚本速查手册 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载