pipectl(1)
π pipectl(1) β a simple named pipe management utility π
okay bestie, welcome to pipectl, from the General Commands Manual. It's a cute lil tool that creates and manages short-lived named pipes π so you can feed stdin into some long-running program from anywhere else on the system, without dragging a whole complex IPC thing like UNIX domain sockets into the situation. no cap. β¨
β¨ SYNOPSIS β¨
pipectl [-h,-o,-i,-n N,-p P,-f,-l]
πΈ DESCRIPTION πΈ
pipectl is literally the tool for making and managing short-lived named pipes that you can use to feed stdin to a longer-lived program from elsewhere in the system β and you don't need a complicated IPC mechanism like UNIX domain sockets to do it. it's giving effortless. π
The way it works is that pipectl is meant to be used in pairs, bestie π«Ά β one call to pipectl opens the pipe (-o) and feeds it to a process, and all the other calls with the same name or path will write to the stdin of that process:
$ pipectl -o | daemon-process
$ echo "do-the-thing --color red" | pipectl -i
$ echo "quit" | pipectl -i
The daemon process will never observe an EOF on its stdin. π Instead, pipectl will block until another input pipe (-i) is opened, and will then feed the stdin of that process to the daemon process asynchronously. iconic behavior honestly.
When the daemon process exits or closes its stdin, pipectl will clean up and remove the created named pipe automatically. not me leaving zero mess behind π
β¨
π OPTIONS π
-h,--helpβ show the help message and exit. bye bestie π-o,--outβ create a named pipe and print its contents tostdout.-i,--inβ writestdinto an open named pipe created with-o.-n N,--name Nβ create the named pipe with a custom name. check PATHS below π-p P,--path Pβ create a named pipe at a custom path. also check PATHS π-f,--forceβ force overwrite an existing named pipe even if it already exists (only usable with-o). π©·-l,--lockβ useflock(2)to synchronize writes to the pipe (only usable with-i). π
π¦ PATHS π¦
By default, pipectl will create the named pipe in a temporary directory (TMP). The first available directory out of these will be used:
$XDG_RUNTIME_DIR$TMPDIR/tmp
And the resulting path of the named pipe is as follows:
default
TMP/pipectl.UID.pipe
with --name NAME
TMP/pipectl.UID.NAME.pipe
with --path PATH
PATH
where UID is the real user id of the pipectl process (see getuid(3)). yes bestie, that's your real uid, main character energy fr fr π
π AUTHORS π
Maintained by Ferdinand Bachmann <ferdinand.bachmann@yrlf.at>. More information on pipectl can be found at <https://github.com/Ferdi265/pipectl>. π«Ά
π SEE ALSO π
pipectl(1) mkfifo(1) flock(2) getuid(3)
and that's a wrap, bestie!! π this page is from 2026-01-27, serving the General Commands Manual β go forth and pipe slay π β¨
π¦ where this page comes from
- ubuntu resolute: pipectl 0.5.1-1build1 Β· GPL-3.0-or-later
- ubuntu stonking: pipectl 0.5.1-1build1 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms