Execute seu programa na tela . Basta instalar a tela, abra o seu terminal e digite "screen". A partir desse momento, tudo o que você fizer estará dentro de uma 'tela' persistente que não depende de o shell externo estar fechado.
Se o seu terminal estiver fechado, você poderá abrir um novo e anexar novamente a tela.
Se eu escrevo programas que precisam rodar assim (normalmente eu os inicio remotamente através de ssh) eu costumo escrever em uma verificação, para que o programa se recuse a iniciar a menos que esteja rodando na tela (verifique se a variável de ambiente STY existe ). Dessa forma, não consigo executar o programa acidentalmente fora da tela.