Escreva um script que faça isso:
#!/bin/bash
trap 'echo hup' hup
trap 'echo int' int
trap 'echo quit' quit
trap 'echo abrt' abrt
trap 'echo kill' kill
trap 'echo usr1' usr1
trap 'echo usr2' usr2
trap 'echo term' term
trap 'echo chld' chld
trap 'echo cont' cont
trap 'echo stop' stop
trap 'echo tstp' tstp
trap 'echo ttin' ttin
trap 'echo ttou' ttou
shopt huponexit
sleep 10
echo $(date) process $$ done
Escreva um segundo script que faça : > nohup.out; nohup firstscript& echo sleeping; sleep 10
. Execute o segundo script, aguarde um segundo ou dois e feche seu terminal PuTTY. Abra um novo terminal PuTTY e inspecione o arquivo nohup.out. Ele deve informar o sinal que o primeiro script recebeu que o fez parar. Isso ajudará você a descobrir como proceder. Você poderia tentar fazer trap '' THEGUILTYSIGNAL
por uma coisa.
Ele também deve informar o valor de huponexit. Se isso estiver ativado, experimente o shopt -u huponexit
e veja se isso melhora a situação. (Melhoria = você pode rodar o segundo script e fechar o seu terminal PuTTY, mas o primeiro script ainda é executado até a conclusão).