How about [daemontools][1] and specifically the supervise tool

> supervise monitors a service. It starts the service and restarts the service if it dies. Setting up a new service is easy: all supervise needs is a directory with a run script that runs the service. 

 [1]: http://cr.yp.to/daemontools.html