Bash Trap不会忽略信号 [英] bash trap won't ignore signal

查看:0
本文介绍了Bash Trap不会忽略信号的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

请考虑此bash脚本:

#!/bin/bash

trap '' INT

echo sleep:  
sleep 5

echo rsync:  
rsync -a /usr/lib /var/tmp
如预期的那样,尝试使用ctrl-c中断睡眠失败。但rsync是可中断的(睡眠和rsync的顺序并不重要)?欢迎任何想法!

编辑: 发现了不同之处:rsync本身启动了两个子进程(我假设是客户机/服务器,它会产生两个错误消息),而这些进程似乎并没有继承其父进程的"无知"。必须深入研究bash源代码并找出陷阱是如何工作的...

推荐答案

您是否尝试过按照SO问题bash not trapping interrupts during rsync subshell/exec statements中的建议使用rsync--no-detach

这篇关于Bash Trap不会忽略信号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆