diff options
Diffstat (limited to 'doc/index.html')
-rw-r--r-- | doc/index.html | 104 |
1 files changed, 87 insertions, 17 deletions
diff --git a/doc/index.html b/doc/index.html index 57d1ef1..7fcf79a 100644 --- a/doc/index.html +++ b/doc/index.html @@ -22,10 +22,36 @@ s6 is a small suite of programs for UNIX, designed to allow process supervision (a.k.a service supervision), in the line of <a href="http://cr.yp.to/daemontools.html">daemontools</a> -and <a href="http://smarden.org/runit/">runit</a>. +and <a href="http://smarden.org/runit/">runit</a>, 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. </p> <p> + Examples of things you can do by assembling together several programs +provided by s6: +</p> + +<ul> + <li> <a href="http://en.wikipedia.org/wiki/Syslog">syslogd</a> functionality, +using much less resources than the traditional syslogd. </li> + <li> Reliable service readiness notification, which is the basis for +service dependency management. </li> + <li> Controlled privileged gain as with +<a href="http://en.wikipedia.org/wiki/Sudo">sudo</a>, without using +any suid programs. </li> + <li> The useful parts of +<a href="http://0pointer.de/blog/projects/socket-activation.html">socket +activation</a><sup><a href="#fn1" id="r1">[1]</a></sup> +without having to change application code or link servers +against any specific library, and without having to switch to any +specific init system. </li> +</ul> + +<p> The s6 documentation tries to be complete and self-contained; however, if you have never heard of process supervision before, you might be confused at first. See the <a href="#related">related resources</a> section @@ -51,11 +77,14 @@ supervision that might help you understand the basics. <ul> <li> A POSIX-compliant system with a standard C development environment </li> - <li> GNU make, version 4.0 or later </li> + <li> GNU make, version 4.0 or later. Please be aware that s6 will not build +with an earlier version. </li> <li> <a href="http://skarnet.org/software/skalibs/">skalibs</a> version -2.2.1.0 or later </li> +2.2.1.0 or later. It's a build-time requirement. It's also a run-time +requirement if you link against the shared version of the skalibs +library. </li> <li> <a href="http://skarnet.org/software/execline/">execline</a> version -2.0.1.1 or later </li> +2.0.1.1 or later. It's a build-time and run-time requirement. </li> </ul> <h3> Licensing </h3> @@ -120,32 +149,24 @@ a user interface to control those processes and monitor service states. <li><a href="s6-notifywhenup.html">The <tt>s6-notifywhenup</tt> program</a> </li> </ul> -<h4> Other daemontools-like utilities </h4> +<h4> Daemontools-like utilities </h4> <p> These programs are a rewrite of the corresponding utilities from <a href="http://cr.yp.to/daemontools.html">daemontools</a>, with -a few extras. The -<a href="s6-log.html">s6-log</a> program is important in itself: it's -a powerful, scriptable, general-purpose filtering and logging tool -that can be used to entirely replace syslogd. It has many more -features than its <a href="http://cr.yp.to/daemontools/multilog.html">multilog</a> -counterpart. +a few extras. </p> <ul> <li><a href="s6-envdir.html">The <tt>s6-envdir</tt> program</a></li> <li><a href="s6-envuidgid.html">The <tt>s6-envuidgid</tt> program</a></li> <li><a href="s6-fghack.html">The <tt>s6-fghack</tt> program</a></li> -<li><a href="s6-log.html">The <tt>s6-log</tt> program</a></li> -<li><a href="s6-setlock.html">The <tt>s6-setlock</tt> program</a></li> <li><a href="s6-setsid.html">The <tt>s6-setsid</tt> program</a></li> <li><a href="s6-setuidgid.html">The <tt>s6-setuidgid</tt> program</a></li> <li><a href="s6-applyuidgid.html">The <tt>s6-applyuidgid</tt> program</a></li> <li><a href="s6-softlimit.html">The <tt>s6-softlimit</tt> program</a></li> <li><a href="s6-tai64n.html">The <tt>s6-tai64n</tt> program</a></li> <li><a href="s6-tai64nlocal.html">The <tt>s6-tai64nlocal</tt> program</a></li> -<li><a href="ucspilogd.html">The <tt>ucspilogd</tt> program</a></li> </ul> <h4> Fifodir management, notification and subscription </h4> @@ -174,6 +195,11 @@ synchronization</a>. <li><a href="s6-ftrig-listen1.html">The <tt>s6-ftrig-listen1</tt> program</a></li> <li><a href="s6-ftrig-listen.html">The <tt>s6-ftrig-listen</tt> program</a></li> </ul> +<p> +</p> +<ul> +<li><a href="s6-ftrigrd.html">The <tt>s6-ftrigrd</tt> internal program</a></li> +</ul> <h4> Local service management and access control </h4> @@ -203,14 +229,44 @@ synchronization</a>. <li><a href="s6-sudod.html">The <tt>s6-sudod</tt> program</a></li> </ul> -<h4> Internal commands </h4> +<h4> Logging </h4> <ul> -<li><a href="s6-ftrigrd.html">The <tt>s6-ftrigrd</tt> internal program</a></li> -<li><a href="libs6/s6lockd.html">The <tt>s6lockd</tt> internal program</a></li> +<li><a href="s6-log.html">The <tt>s6-log</tt> program</a></li> +<li><a href="ucspilogd.html">The <tt>ucspilogd</tt> program</a></li> +</ul> + +<h4> Timed lock acquisition </h4> + +<ul> +<li><a href="s6-setlock.html">The <tt>s6-setlock</tt> program</a></li> +<li><a href="libs6/s6lockd.html">The <tt>s6lockd</tt> program</a></li> <li><a href="libs6/s6lockd-helper.html">The <tt>s6lockd-helper</tt> internal program</a></li> </ul> +<h4> fd-holding, a.k.a. the sensible part of socket activation </h4> + +<ul> +<li><a href="s6-fdholder-daemon.html">The <tt>s6-fdholder-daemon</tt> program</a></li> +<li><a href="s6-fdholderd.html">The <tt>s6-fdholderd</tt> program</a></li> +</ul> +<p></p> +<ul> +<li><a href="s6-fdholder-store.html">The <tt>s6-fdholder-store</tt> program</a></li> +<li><a href="s6-fdholder-storec.html">The <tt>s6-fdholder-storec</tt> program</a></li> +<li><a href="s6-fdholder-retrieve.html">The <tt>s6-fdholder-retrieve</tt> program</a></li> +<li><a href="s6-fdholder-retrievec.html">The <tt>s6-fdholder-retrievec</tt> program</a></li> +<li><a href="s6-fdholder-delete.html">The <tt>s6-fdholder-delete</tt> program</a></li> +<li><a href="s6-fdholder-deletec.html">The <tt>s6-fdholder-deletec</tt> program</a></li> +<li><a href="s6-fdholder-list.html">The <tt>s6-fdholder-list</tt> program</a></li> +<li><a href="s6-fdholder-listc.html">The <tt>s6-fdholder-listc</tt> program</a></li> +<li><a href="s6-fdholder-getdump.html">The <tt>s6-fdholder-getdump</tt> program</a></li> +<li><a href="s6-fdholder-getdumpc.html">The <tt>s6-fdholder-getdumpc</tt> program</a></li> +<li><a href="s6-fdholder-setdump.html">The <tt>s6-fdholder-setdump</tt> program</a></li> +<li><a href="s6-fdholder-setdumpc.html">The <tt>s6-fdholder-setdumpc</tt> program</a></li> +<li><a href="s6-fdholder-transferdump.html">The <tt>s6-fdholder-transferdump</tt> program</a></li> +<li><a href="s6-fdholder-transferdumpc.html">The <tt>s6-fdholder-transferdumpc</tt> program</a></li> +</ul> <h3> Libraries </h3> @@ -220,6 +276,7 @@ synchronization</a>. <li><a href="libs6/ftrigr.html">The <tt>ftrigr</tt> library interface</a></li> <li><a href="libs6/s6lock.html">The <tt>s6lock</tt> library interface</a></li> <li><a href="libs6/accessrules.html">The <tt>accessrules</tt> library interface</a></li> +<li><a href="libs6/s6-fdholder.html">The <tt>s6-fdholder</tt> library interface</a></li> </ul> <h3> Definitions </h3> @@ -259,6 +316,10 @@ daemontools.) </li> approach to process supervision, with the same goals. </li> <li> <a href="http://b0llix.net/perp/">perp</a>, yet another slightly different approach to process supervision, also with the same goals. </li> + <li> <a href="http://homepage.ntlworld.com/jonathan.deboynepollard/Softwares/nosh.html">nosh</a> +is another suite of system-level utilities with similarities in the design +and approach. It is written in C++, though, and is coded in quite a +different way than the previous items on this list. </li> </ul> <h3> Other init systems </h3> @@ -302,5 +363,14 @@ software, and it's short. Expect more use of s6- in future skarnet.org software releases. And please avoid using that prefix for your own projects. </p> +<h3> Footnotes </h3> + +<section> + <p id="fn1"><a href="#r1"><sup>[1]</sup></a> + Take everything you read on that link with two or three salt shakers. +(This is true for anything written by the author of that document.) + </p> +</section> + </body> </html> |