HPUX pipe[2]






 pipe(2)                                                             pipe(2)





 NAME
      pipe - create an interprocess channel

 SYNOPSIS
      int pipe(int fildes[2]);

 DESCRIPTION
      pipe() creates an I/O mechanism called a pipe and returns two file
      descriptors, fildes[0] and fildes[1].  fildes[0] is opened for reading
      and fildes[1] is opened for writing.

      A read-only file descriptor fildes[0] accesses the data written to
      fildes[1] on a first-in-first-out (FIFO) basis.  For details of the
      I/O behavior of pipes see read(2) and write(2).

 EXAMPLES
      The following example uses pipe() to implement the command string ls |
      sort:

           #include <sys/types.h>
           pid_t pid;
           int pipefd[2];

           /*  Assumes file descriptor 0 and 1 are open  */
           pipe (pipefd);

           if ((pid = fork()) == (pid_t)0) {
                close(1);      /* close stdout */
                dup (pipefd[1]);
                close (pipefd[0]);
                execlp ("ls", "ls", (char *)0);
           }
           else if (pid > (pid_t)0) {
                close(0); /* close stdin  */
                dup (pipefd[0]);
                close (pipefd[1]);
                execlp ("sort", "sort", (char *)0);
           }

 RETURN VALUE
      Upon successful completion, a value of 0 is returned.  Otherwise, a
      value of -1 is returned and errno is set to indicate the error.

 ERRORS
      pipe() fails if one or more of the following is true:

      [EMFILE]       NFILE - 1 or more file descriptors are currently open.

      [ENFILE]       The system file table is full.





 Hewlett-Packard Company            - 1 -     HP-UX Release 9.0: August 1992






 pipe(2)                                                             pipe(2)





      [ENOSPC]       The file system lacks sufficient space to create the
                     pipe.

 SEE ALSO
      sh(1), read(2), write(2), popen(3S).

 STANDARDS CONFORMANCE
      pipe(): AES, SVID2, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1














































 Hewlett-Packard Company            - 2 -     HP-UX Release 9.0: August 1992