Supervisord

supervisord is a program that allows you to monitor and control processes. supervisord runs processes as its sub processes, can restart a processes if it crashes.

supervisord is the server. supervisorctl is the client program.

You can find more info at

http://supervisord.org/running.html

To install on CentOS run