CRON job que mata um processo iniciado pelo CRON anterior

2

Eu preciso criar um cron job que execute um script bash em segundo plano que não termine a menos que seja morto. O bash inicia um processo que deve continuar rodando por cerca de 28 horas, então eu preciso de outro trabalho cron para matá-lo. Primeiro cron executa todos os dias às 0:00, inicia o processo. O segundo cron funciona às 4:00 da manhã e tem que matar o processo iniciado no dia anterior, deixando o do dia atual para ser executado.

Do que eu pesquisei, eu deveria armazenar o pid do processo em um arquivo e depois ter o segundo cron acessando, mas como e onde? No cron ou no bash? Considerando que o processo iniciado pelo script bash não termina até que seja morto, os comandos depois de algum tempo serão executados?

EDIT: solução Ipor Sircer resolve o problema particular que tenho, mas eu ainda gostaria de aprender a exportar o PID em um arquivo que outro CRON pode acessar.

    
por UrVal 29.12.2016 / 18:50

1 resposta

3

Use o comando timeout , é muito mais fácil:

0 0 * * * timeout 28h script.sh
    
por 29.12.2016 / 18:54

Tags