在尝试进行陷阱睡眠循环时,我遇到了一个奇怪的(可能是特定于平台的问题)。
具体来说,以下代码:
saysomething() {
trap saysomething 37
echo "Hello there"
while true; do
sleep 1
done
}
echo "Current pid: $$"
saysomething
打印&#34;你好&#34;每次我在Ubuntu 14.04上使用kill -37 <pid>
从另一个shell发送信号。
但是,在RHEL 7计算机上,上面仅在第一次打印Hello there
。之后,脚本继续执行,但无法响应任何更多信号。
造成这种差异的原因是什么?
答案 0 :(得分:0)
不是真正的答案,但这是解决方法我最终使用以下作为解决方法:
Angular
我仍然无法解释这种行为差异的原因。