Is there some overlap in functionality between upstart and supervisord?

I have a java process that I need to start at boot up, and also monitor this process to make sure it stays running (try and restart it if it goes down).

Could I use upstart for both of these requirements, or would I need to use both upstart and supervisord?


If you have Upstart, then it's already likely the root process in the system (it doesn't have to be, but usually is). This means that it starts your prompt, as well as all services.

Supervisor is good at doing the same thing, as well as managing groups of programs (starting/stopping as a group, etc..) and using RPC to allow remote management of programs.

If you're not taking advantage of the last two features, then there is no real benefit. However, if you use Supervisor, it has to be started by something. You can start it from rc.local, but then it becomes your likely point of failure.


You can use upstart to both start the process at boot and restart it if it exits. The Upstart Cookbook is pretty comprehensive, and the latter functionality is documented under respawn

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.