Como posso estender o tempo de espera para o comando watch além de 4200 ou mais segundos?

2

Encontrei uma limitação do comando watch.

Mesmo que eu especifique watch -n 14400 para executar o comando a cada 4 horas ou mais, o comando executa a cada 4200 segundos, o que é cerca de uma hora de espera. Caso contrário, um comando muito útil, existe uma maneira de estender o alcance além de 4200 segundos.

Acho que o limite vem do tempo que está sendo medido em microssegundos e 4200 milhões de micro segundos, e 4200 M é 2 ^ 32 ou algo assim.

    
por Sherry 20.04.2012 / 07:41

1 resposta

3

Você pode usar watch do busybox : instalar o pacote busybox e, em seguida, chamá-lo via

 busybox watch -n 14400 THE_COMMAND

Ao contrário do normal watch vindo com o pacote procps, ele funciona internamente com segundos (e não com microssegundos).

Mas se você precisar de períodos tão longos, você deve ter pelo menos uma olhada em cron ou at como Warren Young apontou em seu comentário. Com eles, você pode executar comandos em segundo plano e não precisa de um terminal.

    
por 20.04.2012 / 10:12

Tags