Seu processo morreu em SIGTTOU
.
Se você quiser evitar que isso aconteça, você precisa ter cuidado para não imprimir algo no TTY que não é mais seu.
Eu gostaria de entender o comportamento de um processo em execução com o disown quando ocorre um SIGHUP (ou similar) de um logout do shell.
O processo simplesmente faz o seguinte:
Ok, nós executamos o processo e depois fazemos um ctrl-z, bg, desarquivamos e logout.
Após 15 segundos, o arquivo vazio em / tmp não existe. Se eu remover o segundo comando (print), o processo termina e o arquivo vazio existe, então se o processo envia algo para stdout sem um shell anexado, então recebe algum sinal do kernel que o mata.
O processo deve estar em Perl, PHP ou C (Com Bash ou Python parece que não ocorre)
Eu sei que uma execução em segundo plano com nohup envia a saída para um arquivo e não teremos esse problema, mas a questão é entender o comportamento do comando disown quando executamos o processo com alguma saída. (btw, disown com -h tem o mesmo resultado).
Seu processo morreu em SIGTTOU
.
Se você quiser evitar que isso aconteça, você precisa ter cuidado para não imprimir algo no TTY que não é mais seu.