trap(1)
任意のシグナルが送出されたときに、特定のコールバック関数を呼び出すことできるBashのビルトインコマンド。
シェルスクリプトでGraceful Terminationを実装したいときに便利。
たとえば、以下の例では以下のシグナルのいずれかが送出されたときに、cleanupを実行する。
SIGHUP
SIGINT
SIGQUIT
SIGABRT
code:sh
TRASH=$(mktemp)
trap cleanup HUP INT QUIT ABRT
cleanup()
{
echo "Removing temporary files:"
rm -rf "$TRASH"
exit
}