Eu não acho que entendo completamente o seu caso de uso concreto, mas aqui está uma possível abordagem que pode ajudar.
Em vez de fazer o despejo do seu processo para stdout e stderr , tenha aqueles gravados em um arquivo. Como alternativa, você pode usar tee para gravar em um arquivo e no terminal.
Também redirecione stdin usando tail -f em um arquivo de entrada separado. Crie uma tarefa cron que grava uma nova linha no arquivo de entrada no intervalo apropriado.
Você ainda pode executar seu processo em screen se quiser verificá-lo periodicamente (ou apenas para mantê-lo ativo).
Inicie seu processo como:
tail -f /path/to/myinputfile.txt | myprocess 2&>1 >/path/to/outputfile.txt
ou, usando tee :
tail -f /path/to/myinputfile.txt | myprocess 2&>1 | tee /path/to/outputfile.txt
E configure o trabalho cron de entrada como:
5 * * * * /bin/cat "/snapshot" >> /path/to/myinputfile.txt