popen man page on IRIX

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



POPEN(3S)							     POPEN(3S)

NAME
     popen, pclose - initiate pipe to/from a process

SYNOPSIS
     #include <stdio.h>

     FILE *popen (const char *command, const char *type);

     int pclose (FILE *stream);

DESCRIPTION
     popen creates a pipe between the calling program and the command to be
     executed.	The arguments to popen are pointers to null-terminated
     strings.  Command consists of a shell command line.  Type is an I/O mode,
     either r for reading or w for writing.  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.

EXAMPLE
     A typical call may be:

	  #include <stdio.h>
	  #include <stdlib.h>

	  main()
	  {
		  char *cmd = "/usr/bin/ls *.c";
		  char buf[BUFSIZ];
		  FILE *ptr;

		  if ((ptr = popen(cmd, "r")) != NULL)
			  while (fgets(buf, BUFSIZ, ptr) != NULL)
				  (void) printf("%s", buf);
		  return 0;
	  }

     This will print in stdout [see stdio (3S)] all the file names in the
     current directory that have a ``.c'' suffix.

SEE ALSO
     pipe(2), wait(2), fclose(3S), fopen(3S), stdio(3S), system(3S).

									Page 1

POPEN(3S)							     POPEN(3S)

DIAGNOSTICS
     popen returns a NULL pointer if files or processes cannot be created.

     Pclose returns -1 if stream is not associated with a ``popened'' command.

WARNING
     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)].

     Full pathnames should be used (or reset PATH variable) and the IFS
     environment variable should be set to space and tab("\t") to avoid
     possible security problems.  It should be noted that these environment
     variables are inherited from the parent process.

									Page 2

[top]

List of man pages available for IRIX

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