のように見えます
trap on_sigint SIGINT
SIGINT
キャッチされたらすぐにスクリプトを停止します。その後、on_sigint
が実行されます。SIGINT
スクリプトを停止せずに処理することはできますか?
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
あなたの観察が正しければ、最後の行はそこにありませんでした。