s6 is a small suite of programs for UNIX, designed to allow process supervision (a.k.a service supervision), in the line of daemontools and runit, as well as various operations on processes and daemons. It is meant to be a toolbox for low-level process and service administration, providing different sets of independent tools that can be used within or without the framework, and that can be assembled together to achieve powerful functionality with a very small amount of code.
Examples of things you can do by assembling together several programs provided by s6 - besides process supervision:
- syslogd functionality, using much less resources than the traditional syslogd.
- Reliable service readiness notification, which is the basis for service dependency management.
- Controlled privileged gain as with sudo, without using any suid programs.
- The useful parts of socket activation[1] without having to change application code or link servers against any specific library, and without having to switch to any specific init system.