AFAIK there is no application that currently checks services to see if they exited cleanly or not.
You could probably write a quick script to see if the process is running, but how you would know if it exited cleanly or not (when the script wasn't the thing to start the process) I'm not sure.
Here's a start:
Code:
#!/bin/bash
###
### Monitor script
###
SERVICE=syslogd
RESTART_SERVICE="/etc/init.d/sysklogd -start"
count_proc=$(ps -ef|grep ${SERVICE}|grep -v grep|wc -l)
if [ $count_proc -eq 0 ]
then
echo "Restart $SERVICE"
$RESTART_SERVICE
fi
EDIT:-
The script would need to run as root on a regular basis via cron. Ofcourse if the cron daemon is the process you want to check, you would need to loop and sleep instead.