I was researching how to keep a background process running and I came across daemonize. This answer says that I can use daemonize to ensure a process is always running: "Ensure a process is always running". I went thru the man page: http://software.clapper.org/daemonize/daemonize.html .
It only closes stdin, stdout, stderr, changing work directory to root, etc. It's doing all the things that a good background process should do.
The only thing I found related to restarting was -p pidfile for outputting the process id and -l lockfile for making sure only one process is started.