Você está certo sobre o comportamento pai-filho. Os processos que você está iniciando na linha de comando estão recebendo seus sinais da instância do terminal. Uma vez que você feche o terminal, ele enviará um sinal HUP (desligamento) para os processos dependentes.
Isso é muito útil quando você tem apenas um terminal para que, uma vez que você efetue o logout, ele notifique todos os processos que o usuário efetuou o logout e eles devem encerrar sua atividade. No entanto, no seu caso, você deseja processar (es) para ignorar este sinal e continuar seu trabalho mesmo depois que o terminal foi fechado. Para isso, temos um comando especial chamado nohup
que você deve prefixar com seu comando normal (por exemplo, nohup gedit
).
Você também pode perguntar onde a saída que foi para o console vai depois que um terminal é fechado. Bem, um arquivo no seu diretório pessoal chamado nohup.out
está sendo criado e todas as saídas dos processos serão redirecionadas para ele.
Por favor note, o nohup não abre o processo em segundo plano, então você ainda precisará adicionar o postfix & amp; se você quiser (por exemplo, nohup gedit &
).