Runit

runit is an init replacement with service monitoring. It can be used in conjunction with OpenRC as an alternative to sysvinit.

PID 1 &mdash; init replacement
Runit can be used as the system init. To do this, simply add init=/sbin/runit-init to your bootloader's command line and reboot. You can leave sysvinit installed and go back to it at any time by reverting the change.

Out of the box, runit-init has a very minimal configuration which will only get you to a console login. Although it would be optimal to have all your daemons started up in a single consistent way, you're free to mix and match between runit and OpenRC as you like. Your initscripts can be found in the "default" runlevel, which can be started automatically on boot with the existing "local" service:

If you prefer to do it manually:

Reboot and Shutdown
Runit isn't directly compatible with sysvinit's "telinit", "halt", "poweroff", "reboot" and "shutdown" commands, however many programs (e.g. desktop environments) expect to be able to call some of these.

You can restore the functionality using some one-liner shell scripts:

OpenRC Supervision Service
Runit can supervise processes without running as init, or even necessarily as root:

Local Service
OpenRC can start this for you using /etc/init.d/local (see /etc/local.d/README for more details):

OpenRC Service
This does the same as the local.d script above, but using OpenRC proper. As such, you can use the extra features it provides like initscript multiplexing.

External Resources

 * Arch Linux Wiki
 * Gentoo Forums
 * supervision-scripts: a large, modular collection of scripts that can be used with runit.
 * Supervision Scripts Framework with an OpenRC friendly stage 1, 2, and 3 for Runit