Hrm, se você estiver usando o Ubuntu, o novo processo de inicialização, upstart , inclui um nível de supervisão do processo. Ele pode ser usado para iniciar e parar serviços padrão, como scripts init SysV, e também monitorar aplicativos em execução e recuperá-los se eles morrerem.
Você também pode implementar o restarter de processo de um homem pobre via inittab, dependendo de quais são suas necessidades.
Se você está procurando algo para manter um olho em um processo, para ter certeza de que está sempre em execução e reiniciá-lo quando não está, tive muita sorte com restartd . Infelizmente, a única fonte que eu conheço é o pacote Debian. No entanto, é uma aplicação muito pequena e simples, basicamente apenas um único arquivo .c e .h, com um arquivo make. Compilá-lo a partir do tarball de origem do Debian na Red Hat é trivial (eu até fiz um RPM dele no meu trabalho anterior).
Uma última opção da qual ouvi falar, mas não usada, é o Supervisor . Parece uma ferramenta promissora, mas o restartd funcionou bem o suficiente para mim no passado, pelo que eu precisava, que ainda não me preocupei em jogar com ele.