Eu vou resolver com um trabalho cron simples para esta tarefa. A combinação cron + smf deve ser suficiente: o SMF cuida de manter o serviço em execução e o reinicia em caso de falha. O Cron reinicia o serviço periodicamente. Se o cronjob não reiniciar o serviço, que o AFAIK só deve acontecer se a máquina for reiniciada durante o tempo em que o serviço deveria ter sido iniciado, o SMF iniciará o serviço novamente, pois o serviço também deve estar off-line. Duvido que existam casos em que o cronjob falhe e o serviço ainda esteja em execução. Se esse for o caso, o SMF não reiniciará o serviço por si só, mas esperamos que isso não aconteça.