S6

S6 is a supervision suite like Runit, Daemontools and Daemontools-encore. S6 is very similar to Runit on its design which can be used to bypass SysVinit init and OpenRC altogether. However, the command line utilities are named after daemontools with s6- prefix. Morever, S6 comes with a shell like interpreted language&mdash;execline&mdash; to facilitate init/PID 1 migration, that is, stage 1&mdash;system initialization&mdash; and stage 3&mdash;system halt. (Init) Stage 1 should exec into stage 2&mdash;system normal functionning state&mdash; to give s6-svscan (process supervisor utility) the wheel of the system.

Supervision
See Runit article for more information because every step described in that article apply here, minor an init (PID 1) replacement. PID 1 is left as an implementation choice (to distribution and/or Operating System), that is, no init is offered&mdash;writting one is necessary! Of course, using the power and flexibility of OpenRC is an option... See Runit article.

Init Stage 3
S6's Stage 3 is quite different from Runit's satege 3. Special care should be taken here! The stage 3 is divided into .s6-svscan/crash and and .s6-svscan/finish scripts&mdash;the first for s6-svscan crash and the latter for extra steps that should dealt when terminating s6-svscan (system halt'' included if used as PID 1.) And .s6-svscan should be present in /service/ directory or... the directory would be created without any safety net (crash/finish cases.)

External Resources

 * Supervision Scripts Framework with an OpenRC friendly stage 1, 2, and 3 for S6
 * Gentoo Forums
 * Avery Payne's Supervision-Scripts Collection