Há um aplicativo stub escrito em C. Agora quero executar esse aplicativo periodicamente, digamos às 11h30 diariamente. pensei em usar ocronprocesso, mas não sei como fazê-lo. Por favor ajude.
Também quero ocronpara verificar periodicamente se o aplicativo está funcionando normalmente ou não. Se o aplicativo travar ou travar,crondeve ser capaz de reiniciar o aplicativo dentro de um determinado período de tempo.
Responder1
O Cron serve para executar tarefas agendadas em intervalos programados, e não para cuidar de outros processos.
Você poderia:
use algo diferente, como o sistema de script de inicialização do seu sistema operacional host, talvez com um trabalho personalizado
inittab
que irá reaparecer se morrer.ou hackear algo na forma de um script de shell que é acionado periodicamente por meio de
cron
verificações em seu script daemon usando algum conjunto de verificações pré-determinadas para saber se ele está funcionando corretamente ou não e, se não, limpar depois dele, então re -lançamentos.
Responder2
Você pode simplesmente fazer uma entrada no seu arquivo crontab
$ crontab -e
terminar então sua entrada de acordo comhttp://www.manpagez.com/man/5/crontab/
[email protected]
30 11 * * * /path/to/your/command
Com a MAILTO
entrada você receberá um email se o comando produzir saída em STDERR
Verificar se o processo trava é mais difícil: você deve definir o que quer dizer com trava: roda mais que um determinado tempo? Produz algum comportamento reconhecível?
Você sempre pode ter um segundo processo ou script em execução posteriormente para verificar se o processo ainda está em execução e tomar as medidas apropriadas.
Responder3
Cronitor (https://cronitor.io) foi uma ferramenta que construí exatamente para esse propósito. Basicamente, tudo se resume a ser um farol de rastreamento que usa solicitações HTTP para registrar o início e o fim de um cron job/tarefa agendada.
Um dos benefícios de usar o Cronitor é que você tem a flexibilidade de criar scripts para as solicitações de rastreamento e pode até fazer chamadas que reportarão falhas imediatamente. Com essa flexibilidade você poderia escrever um wrapper para seu aplicativo que reportará falhasetente reiniciar o script quando houver falhas.