Isso se baseia em esta resposta que tem instruções para enviar a saída para /dev/null .
Para enviar a saída de um programa em execução para /tmp/file.log , por exemplo, faça o seguinte:
Em um segundo terminal, use ps para obter o ID do processo do seu programa.
Digite touch /tmp/file.log para criar um arquivo vazio para sua saída.
Digite gdb -p [PID] usando o ID do processo de ps .
No prompt (gdb) , digite estes comandos:
p dup2(open("/tmp/file.log",1),1)
p dup2(open("/tmp/file.log",1),2)
detach
quit
Em resposta aos comandos dup2 , você verá " $1 = 1 " e " $2 = 2 ". Você deve ver a saída cessar no outro terminal e você deve ser capaz de cat ou tail -f do arquivo de log (ou usar ls -l repetidamente e ver o aumento de tamanho).
Agora você pode suspender seu processo usando Ctrl - Z e retomá-lo em segundo plano usando bg 1 (ou qualquer que seja o número do trabalho).