pipe man page on OSF1

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

pipe(2)								       pipe(2)

NAME
       pipe - Create an interprocess channel

SYNOPSIS
       #include <unistd.h>

       int pipe(
	       int filedes[2] );

STANDARDS
       Interfaces  documented on this reference page conform to industry stan‐
       dards as follows:

       pipe(): XSH4.0, XSH4.2, XSH5.0

       Refer to the standards(5) reference page	 for  more  information	 about
       industry standards and associated tags.

PARAMETERS
       Specifies  the  address	of an array of two integers into which the new
       file descriptors are placed.

DESCRIPTION
       The pipe()  function  creates  a	 unidirectional	 interprocess  channel
       called  a  pipe,	 and  returns  two  file  descriptors,	filedes[0] and
       filedes[1]. The file descriptor specified by the	 filedes[0]  parameter
       is  opened  for	reading	 and  the  file	 descriptor  specified	by the
       filedes[1] parameter is opened for writing. Their integer  values  will
       be the two lowest available at the time of the call to the pipe() func‐
       tion.

       A process has the pipe open for reading if it  has  a  file  descriptor
       open  that  refers  to the read end, filedes[0]. A process has the pipe
       open for writing if it has a file descriptor open that  refers  to  the
       write  end,  filedes[1]. A read operation on file descriptor filedes[0]
       accesses the data written to filedes[1] on a first-in, first-out (FIFO)
       basis.

					Note

       In the System V compatiblity environment, filedes[0] and filedes[1] are
       STREAMS based  and  are	bidirectional.	 Data  written	on  filedes[0]
       appears	on  filedes[1]	and  vice  versa.  Data is read in a first-in,
       first-out (FIFO) basis.

       The O_NONBLOCK and the FD_CLOEXC flags  are  set	 clear	on  both  file
       descriptors.  (The  fcntl()  function can be used to set the O_NONBLOCK
       flag.)

       Upon successful completion, the pipe()  function	 marks	the  st_atime,
       st_ctime and st_mtime fields of the pipe for update.

NOTES
       [Tru64  UNIX]  When a read() or write() system call on a pipe is inter‐
       rupted by a signal and no bytes have been transferred through the pipe,
       the  read()  or	write()	 system	 call returns a -1 and errno is set to
       [EINTR]. This behavior differs from behavior in early releases  of  the
       operating  system, when both system calls either restarted the transfer
       or caused errno to be set to [EINTR], depending on the setting  of  the
       SA_RESTART flag for the interrupting signal.

       [Tru64  UNIX]  As a result of this change, applications must now either
       handle the [EINTR] return or block any expected signals for  the	 dura‐
       tion of the read or write operation.

       [Tru64  UNIX]  When  compiled  in the X/Open UNIX environment, calls to
       the pipe() function are internally renamed  by  prepending  _E  to  the
       function name. When you are debugging a module that includes the pipe()
       function and for which _XOPEN_SOURCE_EXTENDED  has  been	 defined,  use
       _Epipe  to  refer  to  the  pipe()  call.  See standards(5) for further
       information.

RETURN VALUES
       Upon successful completion, a value of 0 (zero)	is  returned.  If  the
       pipe()  function	 fails,	 a value of -1 is returned and errno is set to
       indicate the error.

ERRORS
       If the pipe() function fails, errno may be set to one of the  following
       values:	[Tru64	UNIX]  The  filedes  parameter	is an invalid address.
       [Tru64 UNIX]  A read() or a write() call on a pipe is interrupted by  a
       signal  and no bytes have been transferred through the pipe.  More than
       OPEN_MAX-2 file descriptors are already opened by this process.

	      [Tru64 UNIX]  More than getdtablesize(2)	file  descriptors  are
	      already  opened by this process.	The system file table is full,
	      or the device containing pipes  has  no  free  i-nodes.	[Tru64
	      UNIX]  The  system was unable to allocate kernel memory for more
	      file descriptors.

SEE ALSO
       Commands: sh(1)

       Functions: fcntl(2), getmsg(2), getdtablesize(2),  poll(2),  putmsg(2),
       read(2), select(2), write(2)

       Standards: standards(5)

								       pipe(2)
[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server OSF1

List of man pages available for OSF1

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