The best way to keep any service started and running runit. http://smarden.org/runit/
http://blog.nodejitsu.com/keep-a-nodejs-server-up-with-forev...
It launches a master process which forks and manages child worker processes and talks to them over a socket.