在 Bash 5 中,我遇到了我想要执行以下操作的情况:
trap 'echo trapped!' USR1
while true; do kill -SIGUSR1 $$; sleep 1; done &
但是每次发送信号时我都必须在键盘上按 enter 才能使陷阱代码继续。
实际上,我希望在没有任何键盘交互的情况下执行陷阱。
编辑:
最后我让它像这样工作:
trap 'echo trapped!' USR1
while true; do kill -USR1 $$; kill -INT $$; sleep 1; done &
但我认为解决方案是解决方法,而不是答案。