3

看起来像

trap on_sigint SIGINT

只要SIGINT被捕获就停止脚本。然后,on_sigint被执行。是否可以在SIGINT不停止脚本的情况下进行处理?

4

1 回答 1

6

SIGINT处理程序运行后不会终止脚本。这是一个小型的、自包含的测试用例:

trap on_sigint SIGINT
on_sigint() { echo "caught"; }

{ sleep 3; kill -SIGINT $$; } &

echo "Waiting for sigint"
sleep 5
echo "Still running"

输出是:

Waiting for sigint
caught
Still running

如果您的观察是正确的,那么最后一行就不会出现。

于 2014-01-19T02:00:46.303 回答