
NAME
	  popen, pclose	- initiate pipe	to/from	a process
SYNTAX
	  #include <stdio.h>
	  FILE *popen (command,	type)
	  char *command, *type;
	  int pclose (stream)
	  FILE *stream;
DESCRIPTION
	  The arguments	to popen are pointers to null-terminated
	  strings containing, respectively, a shell command line and
	  an I/O mode, either r	for reading or w for writing.  Popen
	  creates a pipe between the calling program and the command
	  to be	executed.  The value returned is a stream pointer such
	  that one can write to	the standard input of the command, if
	  the I/O mode is w, by	writing	to the file stream; and	one
	  can read from	the standard output of the command, if the I/O
	  mode is r, by	reading	from the file stream.
	  A stream opened by popen should be closed by pclose, which
	  waits	for the	associated process to terminate	and returns
	  the exit status of the command.
	  Because open files are shared, a type	r command may be used
	  as an	input filter and a type	w as an	output filter.
SEE ALSO
	  pipe(2), wait(2), fclose(3S),	fopen(3S), system(3S).
DIAGNOSTICS
	  Popen	returns	a NULL pointer if files	or processes cannot be
	  created, or if the shell cannot be accessed.
	  Pclose returns -1 if stream is not associated	with a
	  ``popened'' command.
BUGS
	  If the original and ``popened'' processes concurrently read
	  or write a common file, neither should use buffered I/O,
	  because the buffering	gets all mixed up.  Problems with an
	  output filter	may be forestalled by careful buffer flushing,
	  e.g. with fflush; see	fclose(3S).
				  
 
