S6-FDHOLDER-STORE(8)
π s6-fdholder-store(8) β the system manager's manual, but make it cute π
okay so bestie, welcome to s6-fdholder-store, a page from the System Manager's Manual that's about handing a file descriptor to a daemon so it can babysit it for you. yes, that's a real job. slay. π
β¨ NAME β¨
s6-fdholder-store β connect to an s6-fdholderd(8) daemon listening on a Unix domain socket, and give it a copy of one of its open file descriptors for the daemon to hold. π
like, it's a whole handoff. you hand the fd over, the daemon holds it, everybody wins. π«Ά
πΈ SYNOPSIS πΈ
s6-fdholder-store [-d fd] [-T fdtimeout] [-t timeout] path id
π¦ DESCRIPTION π¦
s6-fdholder-store connects to an s6-fdholderd(8) server process listening on path.
it then tries to pass a copy of its standard input β or of its descriptor fd, if you said so β to the server, with identifier id. that id is the name tag the daemon files it under, so you can ask for it back later. iconic behavior honestly. β¨
π OPTIONS π
-d fdβ store descriptor number fd. by default, fd is0, which is literally the program's stdin, so the default vibe is "here's my stdin, please hold". π-T fdtimeoutβ the descriptor gets stored with an expiration time of fdtimeout milliseconds. meaning: thes6-fdholderd(8)daemon will close it and get rid of it after that time. by default, fdtimeout is0, which means infinite β no expiration time, it lives forever (or at least until someone deletes it). β-t timeoutβ if the operation can't be processed within timeout milliseconds, then fail with an error message. ngl, communications with the server should be near-instant, so this option is only here to protect users against programming errors (connecting to the wrong socket, for instance). it's giving seatbelt energy. ππ¨
π EXIT STATUS π
0β Success. ate and left no crumbs. π₯1β The server denied the operation. the meanings of the error messages are explained ins6-fdholder-error-codes(7), so go read that if you're confused. π100β Wrong usage. you called it weird, bestie. π111β System call failed β this includes attempting to connect to a nonexistent socket, or one where nos6-fdholderd(8)daemon is listening. π»
π EXAMPLES π
s6-ipcserver-socketbinder /tmp/mysocket s6-fdholder-store
/service/fdholderd/s MYSOCKET
okay so what this does: it will open a Unix domain socket, bind it to /tmp/mysocket and listen to incoming connections, then give it to an s6-fdholderd(8) instance listening on /service/fdholderd/s, with no expiration date, with the βMYSOCKETβ identifier. π
another program will be able to retrieve the socket later, using s6-fdholder-retrieve(8). it's the circle of fd life. π¦
π SEE ALSO π
s6-fdholder-daemon(8)s6-fdholder-delete(8)s6-fdholder-getdump(8)s6-fdholder-list(8)s6-fdholder-retrieve(8)s6-fdholder-setdump(8)s6-fdholder-transferdump(8)s6-fdholderd(8)
this man page is ported from the authoritative documentation at: https://skarnet.org/software/s6/s6-fdholder-store.html β go give it a read if you want the original author's exact words. π
π§ AUTHORS π§
- Laurent Bercot
- Alexis <flexibeast@gmail.com> (man page port)
bestie reminder: this page is Debian's, dated September 29, 2021, and it's page S6-FDHOLDER-STORE(8) of the System Manager's Manual. mwah, go store some descriptors ππ
π¦ where this page comes from
- nixpkgs unstable: s6 2.15.1.0
- nixpkgs unstable: s6-man-pages 2.14.0.1.4
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms