Questions tagged [named-pipes]

A named pipe is an inter-process communication mechanism, which exists both on Unix and Unix-like systems (where it is also known as a FIFO and is file-like), and on Microsoft Windows (where it is an in-memory kernel object). The semantics and APIs differ substantially between the platforms.

Unix

On Unix and Unix-like systems a named pipe (also known as a FIFO for its behavior) is an extension to the traditional pipe concept, and is one of the methods of inter-process communication.

A traditional pipe is "unnamed" because it exists anonymously and persists only for as long as the process is running. A named pipe is system-persistent and exists beyond the life of the process and must be deleted once it is no longer being used. Processes generally attach to the named pipe (usually appearing as a file) to perform inter-process communication (IPC).

Windows

On Windows operating systems a named pipe is a named kernel object which provides duplex data transfers between two processes, a pipe server and a pipe client. Multiple completely independent instances of a particular named pipe object can be created, each connecting the pipe server to exactly one client. A pipe instance persists only as long as its server and client processes keep a handle referencing it.

Communication between the server and client via a pipe instance may be either stream-oriented or message-oriented.

1850 questions
10
votes
2 answers

Error response from daemon: Unrecognised volume spec: file '\\.\pipe\docker_engine' cannot be mapped. Only directories can be mapped on this platform

I'm new to the docker. Any help and tips are welcome. Environments: Windows: Windows 10 Pro 21H1 Docker Desktop: 3.4 I can run hello work example without any issues. But seems like I can't use named piped, can't figure out what is the issue. Some…
10
votes
5 answers

Named Pipes from Windows Service to Client Application

My story is that I am designing a new app which must communicate with a Windows service. After much research I have come to the conclusion that Named Pipes are the recommended method ( How do I send a string from one instance of my Delphi program…
10
votes
1 answer

Windows Named Pipe issue: Error code 233 alternates

I need help on my application I am making. It's a simple program that responds to command line parameters. If the application is invoked for the first time, it starts up as a pipe server (blocking, non-overlapped) on another thread devoted to it,…
MrHuggies
  • 181
  • 1
  • 2
  • 8
10
votes
1 answer

How to write and read from a named pipe in C?

I have 2 programs (write.c and read.c). I want to continuously write to the named pipe from standard input, and read from it on the other end (and write to standard output). I've made something work, but it isn't working right. The program on the…
mythic
  • 895
  • 2
  • 13
  • 31
10
votes
2 answers

Named Pipes in Go for both Windows and Linux

I am new to Go, I want to create Named Pipes implementation in Go which works on both Windows and Linux. I managed to get the code working on Ubuntu, but this one does not work on Windows Isn't there any abstraction in Go which allows you to work…
Pharaoh
  • 712
  • 1
  • 9
  • 33
10
votes
1 answer

Can I open a named pipe on Linux for non-blocked writing in Python?

I created a fifo file using mkfifo. Is it possible to open/write to this without blocking? I'd like to be agnostic whether there is a reader or not. The following: with open('fifo', 'wb', 0) as file: file.write(b'howdy') Just stalls at the open…
Travis Griggs
  • 21,522
  • 19
  • 91
  • 167
10
votes
1 answer

ffmpeg output pipeing to named windows pipe

This question is related to my previous question: Converting raw frames into webm live stream I want to pipe a video to ffmpeg and read it back through another pipe, but I cannot pipe the output of ffmpeg.exe to a named pipe on windows. My…
Lucas
  • 13,679
  • 13
  • 62
  • 94
10
votes
2 answers

Multiple pipes in subprocess

I am trying to use Sailfish, which takes multiple fastq files as arguments, in a ruffus pipeline. I execute Sailfish using the subprocess module in python, but <() in the subprocess call does not work even when I set shell=True. This is the command…
Michelle
  • 103
  • 1
  • 4
10
votes
2 answers

Named pipe client unable to connect to server running as Network Service

I have a service running under the Network Service account. The service just sets up a named pipe and listens for connections: NamedPipeServerStream listeningPipe = new NamedPipeServerStream("ourservicepipe", PipeDirection.InOut,…
Collin Dauphinee
  • 13,664
  • 1
  • 40
  • 71
10
votes
2 answers

How to detect a client disconnect using a named pipe client/server?

I'm learning about named pipes and was playing with the named pipe client and server examples from the MSDN doc: Named Pipe Server Named Pipe Client I modified the client so I can type in messages to the console and have them sent to the server…
Robert Groves
  • 7,574
  • 6
  • 38
  • 50
10
votes
3 answers

how to determine if pipe can be written

Is there a way (in C, or preferably in Perl) to determine whether a named pipe may be written - i.e. there is an active reading process It seems that if I open for write nonblocking, the open returns at once but a select for write also returns…
user1938139
  • 141
  • 1
  • 5
10
votes
2 answers

Can Java act as a Named Pipes server?

I know Java can act as a client for reading/writing named pipes, but I need another program which acts as a server. In this case the program I am communicating with must act as the client, rather than the server. Is it possible for Java to act in…
Daisetsu
  • 4,846
  • 11
  • 50
  • 70
10
votes
2 answers

Named pipes efficient asynchronous design

The problem: To design an efficient and very fast named-pipes client server framework. Current state: I already have battle proven production tested framework. It is fast, however it uses one thread per one pipe connection and if there are many…
Runner
  • 6,073
  • 26
  • 38
10
votes
1 answer

All instances busy exception on named pipe creation

I have a windows service which is communicating with a gui application via named pipes. Therefor i have a thread running waiting for the app to connect which is running fine if i do it once. But if the thread is creating a new instance of the named…
GerS
  • 101
  • 1
  • 5
10
votes
2 answers

What is the proper place to put named pipes on Linux?

I've got a few processes that talk to each other through named pipes. Currently, I'm creating all my pipes locally, and keeping the applications in the same working directory. At some point, it's assumed that these programs can (and will) be run…
nitz
  • 437
  • 5
  • 19