O script a seguir será anexado ao arquivo Test.Out, sempre que receber SIGINT, SIGTERM, SIGHUP
#!/bin/bash
trap "echo 'Caught' >> Test.Out" SIGINT SIGTERM SIGHUP
while :
do
sleep 1000
done
Eu gosto mais de SIGHUP . Ele será enviado para o script de shell sempre que o terminal for fechado.
Mas não podemos escapar do sinal KILL. :( link
EDIT: Mais informações sobre o SIGHUP: link
EDIT: Vídeo com geração de arquivos Test.Out link