articles/pipe.md: update

This commit is contained in:
tocariimaa 2025-02-11 14:58:55 -03:00
parent e9675c0eaa
commit 0f10be2d20

View file

@ -1,19 +1,19 @@
# Pipe
A pipe is an unidirectional IPC mechanism used first in the [Unix](unix.md) operating system, used to connect one
or multiple processes (then forming a pipeline). Pipes are a central concept in Unix-like operating systems as it
or multiple processes together (then forming a pipeline). Pipes are a central concept in Unix-like operating systems as it
allows the composition of multiple programs results without using temporary files.
In a shell a pipeline is constructed using the `|` character which by default redirect the process stdout
output to the stdin of the process at the right of the pipe.
```sh
A | B | C | D
cmdA | cmdB | cmdC | cmdD
```
## Named pipes
A named pipe also known as a FIFO, is a pipe that is represented as a file on a disk having similar semantics
to a regular file.
```sh
mkfifo foo
cat foo &
echo 'test' > foo
mkfifo foo # create named pipe
cat foo & # will block until something is written to it
echo 'test' > foo # send data through the pipe
```