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 11/18/24)