加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – 如何在tail -f命令后继续运行脚本

发布时间:2020-12-16 01:34:25 所属栏目:安全 来源:网络整理
导读:我有以下脚本: tail -f nohup.outecho 5 当我在tail -f上按Ctrl C时,脚本停止运行:不打印5.在停止tail命令后如何运行命令echo 5? Ctrl C将 SIGINT信号发送到前台 process group中的所有进程.当tail正在运行时,进程组由尾进程和运行脚本的shell组成. 使用
我有以下脚本:
tail -f nohup.out
echo 5

当我在tail -f上按Ctrl C时,脚本停止运行:不打印5.在停止tail命令后如何运行命令echo 5?

Ctrl C将 SIGINT信号发送到前台 process group中的所有进程.当tail正在运行时,进程组由尾进程和运行脚本的shell组成.

使用trap内置来覆盖信号的默认行为.

trap " " INT
tail -f nohup.out
trap - INT
echo 5

陷阱的代码不执行任何操作,因此如果shell接收到SIGINT,则shell将前进到下一个命令(echo 5).请注意,第一行中的引号之间有一个空格;任何无效的shell代码都会这样做,除了一个空字符串,这意味着完全忽略信号(这不能使用,因为它会导致tail忽略信号).第二次调用trap会恢复默认行为,因此在第三行之后,Ctrl C将再次中断脚本.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读