pipe man page on OPENSTEP

Man page or keyword search:  
man Server   1419 pages
apropos Keyword Search (all sections)
Output format
OPENSTEP logo
[printable version]


PIPE(2)								       PIPE(2)

NAME
       pipe - create an interprocess communication channel

SYNOPSIS
       int pipe(int fildes[2])

DESCRIPTION
       The  pipe system call creates an I/O mechanism called a pipe.  The file
       descriptors returned can be used in read and  write  operations.	  When
       the  pipe is written using the descriptor fildes[1] up to 4096 bytes of
       data (PIPE_BUF  bytes  for  POSIX  applications;	 see  <limits.h>)  are
       buffered	 before	 the  writing  process is suspended.  A read using the
       descriptor fildes[0] will pick up the data.

       It is assumed that after the pipe  has  been  set  up,  two  (or	 more)
       cooperating  processes  (created	 by subsequent fork() calls) will pass
       data through the pipe with read() and write() calls.

       The shell has a syntax to set up a linear array of processes  connected
       by pipes.

       Read  calls  on an empty pipe (no buffered data) with only one end (all
       write file descriptors closed) returns an end-of-file.

       Pipes are really a special case of the socketpair(2) call and, in fact,
       are implemented as such in the system.

       Upon successful completion, the pipe function will update the st_atime,
       st_ctime, and st_mtime fields of the pipe.

       A signal is generated if a write	 on  a	pipe  with  only  one  end  is
       attempted.

RETURN VALUE
       The  function  value zero is returned if the pipe was created; -1 if an
       error occurred.

ERRORS
       The pipe call will fail if:

       [EMFILE]	      Too many descriptors are active.

       [ENFILE]	      The system file table is full.

       [EFAULT]	      The fildes buffer is in an invalid area of the process's
		      address space.

SEE ALSO
       sh(1), read(2), write(2), fork(2), socketpair(2), stat(2) or stat(2P)

BUGS
       Should  more  than  4096 (PIPE_BUF for POSIX) bytes be necessary in any
       pipe among a loop of processes, deadlock will occur.

				August 1, 1992			       PIPE(2)
[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server OPENSTEP

List of man pages available for OPENSTEP

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net