指定したシグナルが子プロセスに初めて送信された場合に、このイベントが起動します。sig は、10 進数または大文字か小文字のシグナル名で表すことができます。また、シグナル名には接頭辞“SIG”をつけても構いません。これは、catch/ignore コマンドから完全に独立しています。もっとも、catch コマンドは次のようにしても実現できます。
function simple_catch { when sig $1 { stop; echo Stopped due to $sigstr $sig whereami } }
sig イベントを受け取っても、プロセスはまだ生きています。シグナルの送られるプロセスを cont した場合にだけ、シグナルはプロセスに配信されます。