Script de monitoramento iniciado por rc.local

1

Nós temos um programa C que é iniciado usando rc.local ´. Nós adicionamos uma linha como esta:

/usr/local/bin/pc 

para o arquivo rc.local . pc é um programa C compilado. Tudo está funcionando bem no momento. O que nos preocupa é pc falhar. Em caso afirmativo, existe alguma maneira de monitorar isso e reiniciar o programa automaticamente?

    
por biz14 17.04.2013 / 20:00

2 respostas

3

Se você está usando rc.local provavelmente está usando algum init sysV também? Você poderia adicionar uma linha

pc:2345:respawn:/usr/local/bin/pc

para /etc/inittab . Esta linha significa que o programa será iniciado para os runlevels 2,3,4 e 5 e será reiniciado automaticamente quando terminar, ou seja, travar.

    
por 17.04.2013 / 21:33
2

Usar rc.local como sugerido por user1129682 parece uma boa ideia. Se você quiser uma maneira rápida (e suja) de ver se o seu programa (re) começou, pode alterar o seu programa para enviar um e-mail para você quando ele for iniciado. Para fazer isso, instale o pacote mailutils e faça seu programa C começar assim:

#include <stdlib.h> 

int 
main(int argc, char *argv[])
{
   system("echo | mail -s \"pc started\" [email protected]");
   return orginal_main(argc, argv);
}

isso pressupõe que a máquina pc está sendo executada e o encaminhamento de e-mail está funcionando corretamente.

    
por 19.04.2013 / 11:20