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