PIPE(2) PIPE(2)
NAME
pipe - create an interprocess channel
SYNOPSIS
int pipe(int fd[2])
DESCRIPTION
Pipe creates a buffered channel for interprocess I/O commu-
nication. Two file descriptors are returned in fd. Data
written to fd[1] is available for reading from fd[0] and
data written to fd[0] is available for reading from fd[1].
After the pipe has been established, cooperating processes
created by subsequent fork(2) calls may pass data through
the pipe with read and write calls. The bytes placed on a
pipe by one write are contiguous even if many processes are
writing. Write boundaries are preserved: each read termi-
nates when the read buffer is full or after reading the last
byte of a write, whichever comes first.
The number of bytes available to a read(2) is reported in
the Length field returned by fstat or dirfstat on a pipe
(see stat(2)).
SEE ALSO
intro(2), read(2), pipe(3)
DIAGNOSTICS
Sets errstr.
BUGS
If a read or a write of a pipe is interrupted, some unknown
number of bytes may have been transferred.
Page 1 Plan 9 (printed 10/25/25)