Você realmente tem que interagir com os comandos, ou você apenas quer ver o status antes dos comandos serem completados, e os resultados são enviados de volta para você?
Encontrei um "problema" semelhante, em que estava executando traceroute(8)
e mtr
de dentro do cron, para monitorar a conectividade, com mtr
sendo executado em for
-loop para fornecer medições mais precisas em um determinado intervalo ( entre 5 e 16,67 minutos (300 a 1000 ciclos)), mas todo o script foi projetado para funcionar por cerca de uma hora (para garantir que eu não receba spam de e-mails), então, eu queria poder ver o status como aconteceu.
A maneira como cron
funciona é que cria um arquivo temporário em / tmp e chama imediatamente unlink(2)
(mas ainda mantendo o arquivo aberto); isso é usado subseqüentemente para armazenar a saída dos seus scripts antes que eles terminem, e eles são enviados por e-mail para você.
Assim, você pode usar lsof -n -c cron
(e / ou lsof -n | fgrep cron
) para descobrir o número de arquivos abertos que foram excluídos e, em seguida, acessar esses arquivos pelo namespace /proc/$PID/fd/$FD
para ver a saída de seu arquivo. scripts em execução no cron, sem necessidade de screen
.