diff options
| author | Laurent Bercot <ska-skaware@skarnet.org> | 2026-04-10 12:47:59 +0000 |
|---|---|---|
| committer | Laurent Bercot <ska-skaware@skarnet.org> | 2026-04-10 12:47:59 +0000 |
| commit | ad8302b50b20c57d5067c681a2bb1249ce2a28be (patch) | |
| tree | da9ee6601819fe5dd6a707900f311b88115d97d2 | |
| parent | 8476eaf087910edcfb2db1c7f997b99c2b3e95d5 (diff) | |
| download | s6-ad8302b50b20c57d5067c681a2bb1249ce2a28be.tar.gz | |
Go a little easier on execline advocacy
| -rw-r--r-- | doc/overview.html | 5 | ||||
| -rw-r--r-- | doc/s6-svscan-1.html | 17 |
2 files changed, 11 insertions, 11 deletions
diff --git a/doc/overview.html b/doc/overview.html index b4f977a..164cffd 100644 --- a/doc/overview.html +++ b/doc/overview.html @@ -313,7 +313,7 @@ order. Very often, a run script can be reduced to a single command line - likely a long one, but still a single one. (That is the main reason why using the <a href="//skarnet.org/software/execline/">execline</a> language -to write run scripts is recommended: execline makes it natural to handle +to write run scripts is a good idea: execline makes it natural to handle long command lines made of massive amounts of chain loading. This is by no means mandatory, though: a run script can be any executable file you want, provided that running it eventually results in a long-lived process with @@ -383,6 +383,9 @@ to check whether they're ready or not: <a href="s6-notifyoncheck.html">s6-notifyoncheck</a>. This is polling, which is bad, but unfortunately necessary for many daemons as of 2019. </li> + <li> The <a href="s6-notify-fd-from-socket.html">s6-notify-fd-from-socket</a> +program is the s6 way of supporting programs that use systemd's <tt>sd_notify()</tt> +notification mechanism. </li> </ul> <p> diff --git a/doc/s6-svscan-1.html b/doc/s6-svscan-1.html index b68d2bb..875e22e 100644 --- a/doc/s6-svscan-1.html +++ b/doc/s6-svscan-1.html @@ -237,12 +237,10 @@ init a script. <p> Of course, most people will use the <em>shell</em> as scripting -language; however, I advocate the use of -<a href="//skarnet.org/software/execline/">execline</a> -for this, and not only for the obvious reasons. Piping s6-svscan's +language; however, they will find that piping s6-svscan's stderr to a logging service before said service is even up requires -some <a href="#log">tricky fifo handling</a> that execline can do -and the shell cannot. +some <a href="#log">tricky fifo handling</a> that the shell cannot +do portably. See below for more details. </p> <a name="stage3"> @@ -254,8 +252,7 @@ and the shell cannot. stage 3 init is naturally the <tt>/run/service/.s6-svscan/finish</tt> program. Of course, <tt>/run/service/.s6-svscan/finish</tt> can be a symbolic link to anything else; just make sure it points to something in the root -filesystem (unless your program is an execline script, in which case -it is not even necessary). +filesystem. </p> <h3> What stage 3-4 init must do </h3> @@ -382,15 +379,15 @@ that will provide such a reader process. </li> </ul> <p> - This second point cannot be solved in a shell script, and that is why -you are discouraged to write your stage 1 init script in the shell + This second point cannot be portably solved in a shell script, and that is why +it's a deceptively bad idea to write your stage 1 init script in the shell language: you cannot properly set up a FIFO output for s6-svscan without resorting to horrible and unreliable hacks involving a temporary background FIFO reader process. </p> <p> - Instead, you are encouraged to use the + Instead, I suggest using the <a href="//skarnet.org/software/execline/">execline</a> language - or, at least, the <a href="//skarnet.org/software/execline/redirfd.html">redirfd</a> |
