シェルスクリプトでシグナルをトラップするにはtrapを使います。 最初の引数が実行コマンドで、その後ろにトラップするシグナルを並べます。 #!/bin/sh trap 'echo exit...' EXIT trap 'echo trap INT or TERM' INT TERM echo start sleep 5 echo end 出力 start end exit... start (^C押す) trap INT or TERM end exit... EXITはプロセス終了時に投げられる番号0のシグナルです。 シグナル指定は名前でも番号でもよくて、他のシグナルはtrap -lやkill -lで見れます。 $ kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIG