Given the other glowing comments, maybe this would be a place to ask: should I bother with Upstart, or Systemd? I see Shuttleworth announced the move to systemd, but it's not available on Ubuntu 14.04 servers right now. I'm writing provisioning for our production fleet, what should I use? The vagaries of the OS wars make something like Runit tempting.
Runit – a Unix init scheme with service supervision
11–20 of 69 posts
Re: Runit – a Unix init scheme with service supervision
#12Runit is / was awesome but how is this news?
Many people still think that it's a 3-way horse race between sysvinit, Upstart, and systemd (which systemd has all but won). The Debian technical committee certainly acted like that was the case last year.
Instead, the way it was presented in public is that the Linux distros had been battling with brittle sysvinit scripts (true, but also largely self-inflicted) for so long until systemd came in to heroically save the day.
It was pretty shocking to watch how the scene evolved from apathy to having an urgent problem that must be solved now.
Re: Runit – a Unix init scheme with service supervision
#13Re: Runit – a Unix init scheme with service supervision
#14runit is what the Phusion Docker base image http://phusion.github.io/baseimage-docker/ is using, and it's the perfect tool to start and supervise containerized apps. I also love the fact that it can wait for a service to run (in order to wait for dependencies), and that stuck services can be restarted in a more radical way than a single TERM signal.
Re: Runit – a Unix init scheme with service supervision
#15runit is what the Phusion Docker base image http://phusion.github.io/baseimage-docker/ is using, and it's the perfect tool to start and supervise containerized apps. I also love the fact that it can wait for a service to run (in order to wait for dependencies), and that stuck services can be restarted in a more radical way than a single TERM signal.
I'm using this too (after suffering all the other supervisors), and I have no clue why runit isn't the standard tool in Linux. Can any Linux expert explain that?
Re: Runit – a Unix init scheme with service supervision
#16Re: Runit – a Unix init scheme with service supervision
#17Runit is amazing. I've used it on several large scale websites with great success. Runit follows the unix philosophy of being stupid simple and doing one thing incredibly well. If you're starting up a new project, consider using Runit.
Not only is it simple and does the do-the-one-thing-well thing well, which is true, it's also _correct_. It's hard to overstate how valuable runit is in production because of that. It does the right thing with regard to clearing the environment, detaching from controlling terminal, logging, and many other subtle aspects of operating a service. I never worry about runit.
How does it address the "who-watches-the-watcher" problem typically associated with service restarting?
Re: Runit – a Unix init scheme with service supervision
#18It's cron and at implemented in a quite elegant way.
Unfortunately there does not seem to be much love for it in distributions.
Re: Runit – a Unix init scheme with service supervision
#19Runit has the advantage that it is packaged in Debian and you can start using it right away.