Dai un'occhiata al programma "nohup".
Consiglierei di usare GNU Screen. Ti consente di disconnetterti dal server mentre tutti i tuoi processi continuano a essere eseguiti. Non so come ho vissuto senza di essa prima di sapere che esisteva.
Quando la sessione viene chiusa, il processo riceve il segnale SIGHUP che apparentemente non sta rilevando. Puoi usare il nohup
comando all'avvio del processo o il comando integrato di bash disown -h
dopo aver avviato il processo per evitare che ciò accada:
> help disown
disown: disown [-h] [-ar] [jobspec ...]
By default, removes each JOBSPEC argument from the table of active jobs.
If the -h option is given, the job is not removed from the table, but is
marked so that SIGHUP is not sent to the job if the shell receives a
SIGHUP. The -a option, when JOBSPEC is not supplied, means to remove all
jobs from the job table; the -r option means to remove only running jobs.