I’ve been a huge fan of service-style handling of daemons since I first played with qmail a number of years ago. Using daemontools and supervise was awesome, even if it was only for qmail and djbdns back then. When I first decided to start my own proof-of-concept secure Linux distro (Annvix), one of the first things I decided on was to use daemontools to manage supervised services.
Unfortunately, daemontools is a little bit encumbered due to DJB’s licensing restrictions, and that’s when I came upon runit which, in my mind, is the cat’s meow. Not only does it do what daemontools does, but it also completely replaces SysVinit which means I didn’t have to deal with both systems. This also spurred me to completely port the initscripts for services I was shipping to run scripts for use with runit. No excuse for laziness by keeping both systems. =)
Anyways, this morning I found a nice writeup about using runit called “Booting with runit“. This is a pretty good description of what runit is, does, and why it should be preferred over SysVinit. Unfortunately, the author didn’t know that Annvix was the first Linux distro to be 100% runit out of the box… so I had to let him know about that.