I'm looking into changing our Django deployments and was reading the deploy page for and it talks about both which I was aware of and planning on using and that I don't recall hearing about before. Why would I pick one over the other?

We are running red hat.


Supervisord is not designed or intended to run as the init process, PID 1, while runit is. This means that in addition to service management, runit also has code for reaping the orphaned children of other processes, handling startup and shutdown, runlevels, and dependencies between services, while supervisord does not do these things, and is designed to operate with any init system. While it is possible to use runit without replacing your existing init system, that isn't really what it's designed for. I would expect a runit installation to be a deeper and more error-prone operation than a supervisord setup (which I have done, and which is pretty painless), but if you need the ability to delay the launch of processes until other processes have come up, then supervisord will not be adequate.

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.