I want to reliably restart my app and web server processes on crash.
If I understand correctly, runit starts every service as a child process. If the child process crashes this sends a signal to the parent process which in turn respawns the service as a child.
How does this work in the case of upstart. Does it also spawn a child process like runit?
I am considering using runit for this. Is that needed, or is upstart good enough for this ?
I am using nginx for my web server and gunicorn (python) for my app server.