Revision 1 as of 2008-02-17 21:33:12
Initial import from Mark Hobley's Shell Programming Wiki
fix up some of the wiki markup, link to BashFAQ#faq85
|Deletions are marked like this.||Additions are marked like this.|
|Line 7:||Line 7:|
|Line 9:||Line 10:|
|Line 12:||Line 14:|
|Line 13:||Line 16:|
|Line 18:||Line 22:|
|Line 19:||Line 24:|
|Line 22:||Line 28:|
["Atomic Writes to Named Pipes"]
|For some more information, see [:BashFAQ#faq85:Bash FAQ #85].|
Working with Named Pipes
Pipes allow processes to to communicate with each other. A pipe may also be known as a "FIFO" (First In, First Out).
The following is an example on how to create a named pipe, named here as pipe1.
cd /tmp mkfifo pipe1
To send a message to the pipe, use:
echo "hello" > pipe1
The process will appear to be hung at this point. There is no other process running to collect the data, so the kernel suspends the process. The process is said to be "blocked" at this stage. (["No Waiting for a fifo process"])
On another terminal, it is possible to collect the data from the pipe, as follows:
cat < pipe1
The data from the pipe will now be received, and the "blocked" process will be free to resume.
For some more information, see [:BashFAQ#faq85:Bash FAQ #85].