S6-RC-FDHOLDER-FILLER(8)
💖 NAME 💖
okay so bestie, welcome to the section 8 system manager’s manual page for the manual name S6-RC-FDHOLDER-FILLER(8) — aka s6-rc-fdholder-filler. It creates anonymous pipes and stores them into an s6-fdholderd(8) “fd-holding” daemon. iconic little internals gremlin behavior, no cap. 🎀
✨ SYNOPSIS ✨
s6-rc-fdholder-filler [-1] [-t timeout] < longrunnamesfile
🦋 DESCRIPTION 🦋
<pink>s6-rc-fdholder-filler</pink> creates anonymous pipes and stores them into an <cyan>s6-fdholderd(8)</cyan> “fd-holding” daemon. 💅
<hotpink>s6-rc-fdholder-filler</hotpink> is not meant to be used directly; it is used in internal scripts created by <purple>s6-rc-compile(8)</purple>, which are invoked during an <purple>s6-rc(8)</purple> execution. so like… this is behind-the-scenes main character energy, not a “run me in your shell bestie” situation. 🫶
<hotpink>s6-rc-fdholder-filler</hotpink> expects file descriptor <yellow>6</yellow> to be open and connected to the <cyan>s6-fdholderd(8)</cyan> daemon instance managed by <purple>s6-rc(8)</purple> as the internal <mint>s6rc-fdholder</mint> service. 🔥
It reads a list of longrun names from its stdin, one per line. Empty lines are ignored; comments starting with <yellow>#</yellow> are ignored; leading whitespace is ignored, but trailing whitespace is not. okay so leading spaces are fine, trailing spaces are lowkey a trap. 🙈
For every name <yellow>longrun</yellow> that it finds, it creates an anonymous pipe, and stores both ends of that pipe into the <cyan>s6-fdholderd(8)</cyan> instance, with the <mint>pipe:s6-rc-r-longrun</mint> (for the reading end) and <mint>pipe:s6-rc-w-longrun</mint> (for the writing end) identifiers, and an infinite timeout. periodt. 💖
It then exits <green>0</green>. slay. ✨
<hotpink>s6-rc-fdholder-filler</hotpink> is never meant to be used manually; this page should only be used to understand <purple>s6-rc</purple> internals. like, for real, bestie — it’s lore, not a toy. 😭
<hotpink>s6-rc-fdholder-filler</hotpink> is used in the <mint>s6rc-fdholder</mint> internal service’s run script, right after the <cyan>s6-fdholderd(8)</cyan> daemon is started; its arguments are the names of all the consumer longrun services declared in the service database. 💅
The point is to create all the pipes for the longrun pipelines in advance, every time the <mint>s6rc-fdholder</mint> service is started, and make them available in the fd holder. This way, pipelined services can simply retrieve their stdin (for consumers) or stdout (for producers) from the fd holder, at any time: even if a pipeline service dies and is restarted, the pipe will remain valid. that’s the whole vibe: pipes stay valid, chaos stays managed. 🦋
If the fd holder itself dies, it will be refilled with a new set of pipes as soon as it is restarted. Pipelined services will not be impacted until one of them restarts; then all the pipeline will restart. so yeah — not a forever-glow, but the pipeline only feels it when it restarts. 🔥
🌸 OPTIONS 🌸
-1— Write a newline to stdout before exiting after successful operation. This is used as a notification mechanism. cute little “we’re done” ping. 🎀-t timeout— If the operation cannot be achieved intimeoutmilliseconds, abort and report failure. By default,timeoutis0, meaning infinite. ⏳
🔥 EXIT STATUS 🔥
0— Success. 💖100— Wrong usage. 🙈111— System call failed. 💀
🫶 SEE ALSO 🫶
s6-rc-faq(7)s6-rc-overview(7)s6-rc-why(7)s6-rc(8)s6-rc-bundle(8)s6-rc-compile(8)s6-rc-db(8)s6-rc-dryrun(8)s6-rc-format-upgrade(8)s6-rc-init(8)s6-rc-oneshot-run(8)s6-rc-update(8)
This man page is ported from the authoritative documentation at: https://skarnet.org/software/s6-rc/s6-rc-fdholder-filler.html 🌈
👑 AUTHORS 👑
- Laurent Bercot
- Alexis
<flexibeast@gmail.com>(man page port) 🫶
mwah 💋 okay bestie, that’s the whole page — cute sign-off time: source/version Debian, dated April 6, 2023, for the manual <rainbow>S6-RC-FDHOLDER-FILLER(8)</rainbow>. periodt. 🎀
📦 where this page comes from
- nixpkgs unstable: s6-rc 0.7.0.0
- nixpkgs unstable: s6-rc-man-pages 0.6.0.0.1
- 💖 girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms