Eu tentei usar o crontab, mas é limitado a minutos. Existe alguma outra opção?
Eu também tentei algo como:
watch -n 1 sh /path-to-script/try.sh
Mas sempre que fecho o terminal ele para. Eu quero algo que funcione continuamente em segundo plano.
Use um script com o
while
loop enohup
.the_script.sh :
Fique
the_script.sh
imune a travamentos:Substitua
/dev/null
por algum caminho de arquivo se você se importa com o que está no arquivostdout
.Com base nas informações que você forneceu, a melhor resposta é provavelmente a mais simples. Use um script de shell com um loop infinito e um atraso de 1 segundo.
Faça com que o script seja executado fora de um terminal. Dessa forma, ele é executado em segundo plano.
Para uma resposta mais específica, preciso saber qual comando você usa e o que faz se não estiver em execução. Por exemplo. enviar uma notificação ou e-mail.
Essa rotina executará try.sh continuamente a cada segundo, a menos que já esteja em execução. Se já estiver em execução, fará uma pausa até que a execução anterior termine.
Execute desta forma:
Em seguida, pressione
^C
para recuperar o console.Deve usar
kill
o comando para pararloop_script.sh