summaryrefslogtreecommitdiffstats
path: root/man3/popen.3
diff options
context:
space:
mode:
Diffstat (limited to 'man3/popen.3')
-rw-r--r--man3/popen.3208
1 files changed, 0 insertions, 208 deletions
diff --git a/man3/popen.3 b/man3/popen.3
deleted file mode 100644
index 6c2cd00..0000000
--- a/man3/popen.3
+++ /dev/null
@@ -1,208 +0,0 @@
-'\" t
-.\" Copyright 1991 The Regents of the University of California.
-.\" All rights reserved.
-.\"
-.\" SPDX-License-Identifier: BSD-4-Clause-UC
-.\"
-.\" @(#)popen.3 6.4 (Berkeley) 4/30/91
-.\"
-.\" Converted for Linux, Mon Nov 29 14:45:38 1993, faith@cs.unc.edu
-.\" Modified Sat May 18 20:37:44 1996 by Martin Schulze (joey@linux.de)
-.\" Modified 7 May 1998 by Joseph S. Myers (jsm28@cam.ac.uk)
-.\"
-.TH popen 3 2023-10-31 "Linux man-pages 6.7"
-.SH NAME
-popen, pclose \- pipe stream to or from a process
-.SH LIBRARY
-Standard C library
-.RI ( libc ", " \-lc )
-.SH SYNOPSIS
-.nf
-.B #include <stdio.h>
-.P
-.BI "FILE *popen(const char *" command ", const char *" type );
-.BI "int pclose(FILE *" stream );
-.fi
-.P
-.RS -4
-Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
-.RE
-.P
-.BR popen (),
-.BR pclose ():
-.nf
- _POSIX_C_SOURCE >= 2
- || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
-.fi
-.SH DESCRIPTION
-The
-.BR popen ()
-function opens a process by creating a pipe, forking, and invoking the
-shell.
-Since a pipe is by definition unidirectional, the
-.I type
-argument may specify only reading or writing, not both; the resulting
-stream is correspondingly read-only or write-only.
-.P
-The
-.I command
-argument is a pointer to a null-terminated string containing a shell
-command line.
-This command is passed to
-.I /bin/sh
-using the
-.B \-c
-flag; interpretation, if any, is performed by the shell.
-.P
-The
-.I type
-argument is a pointer to a null-terminated string which must contain
-either the letter \[aq]r\[aq] for reading or the letter \[aq]w\[aq] for writing.
-Since glibc 2.9,
-this argument can additionally include the letter \[aq]e\[aq],
-which causes the close-on-exec flag
-.RB ( FD_CLOEXEC )
-to be set on the underlying file descriptor;
-see the description of the
-.B O_CLOEXEC
-flag in
-.BR open (2)
-for reasons why this may be useful.
-.P
-The return value from
-.BR popen ()
-is a normal standard I/O stream in all respects save that it must be closed
-with
-.BR pclose ()
-rather than
-.BR fclose (3).
-Writing to such a stream writes to the standard input of the command; the
-command's standard output is the same as that of the process that called
-.BR popen (),
-unless this is altered by the command itself.
-Conversely, reading from
-the stream reads the command's standard output, and the command's
-standard input is the same as that of the process that called
-.BR popen ().
-.P
-Note that output
-.BR popen ()
-streams are block buffered by default.
-.P
-The
-.BR pclose ()
-function waits for the associated process to terminate and returns the exit
-status of the command as returned by
-.BR wait4 (2).
-.SH RETURN VALUE
-.BR popen ():
-on success, returns a pointer to an open stream that
-can be used to read or write to the pipe;
-if the
-.BR fork (2)
-or
-.BR pipe (2)
-calls fail, or if the function cannot allocate memory,
-NULL is returned.
-.P
-.BR pclose ():
-on success, returns the exit status of the command; if
-.\" These conditions actually give undefined results, so I commented
-.\" them out.
-.\" .I stream
-.\" is not associated with a "popen()ed" command, if
-.\".I stream
-.\" already "pclose()d", or if
-.BR wait4 (2)
-returns an error, or some other error is detected,
-\-1 is returned.
-.P
-On failure, both functions set
-.I errno
-to indicate the error.
-.SH ERRORS
-The
-.BR popen ()
-function does not set
-.I errno
-if memory allocation fails.
-If the underlying
-.BR fork (2)
-or
-.BR pipe (2)
-fails,
-.I errno
-is set to indicate the error.
-If the
-.I type
-argument is invalid, and this condition is detected,
-.I errno
-is set to
-.BR EINVAL .
-.P
-If
-.BR pclose ()
-cannot obtain the child status,
-.I errno
-is set to
-.BR ECHILD .
-.SH ATTRIBUTES
-For an explanation of the terms used in this section, see
-.BR attributes (7).
-.TS
-allbox;
-lbx lb lb
-l l l.
-Interface Attribute Value
-T{
-.na
-.nh
-.BR popen (),
-.BR pclose ()
-T} Thread safety MT-Safe
-.TE
-.SH VERSIONS
-The \[aq]e\[aq] value for
-.I type
-is a Linux extension.
-.SH STANDARDS
-POSIX.1-2008.
-.SH HISTORY
-POSIX.1-2001.
-.SH CAVEATS
-Carefully read Caveats in
-.BR system (3).
-.SH BUGS
-Since the standard input of a command opened for reading shares its seek
-offset with the process that called
-.BR popen (),
-if the original process has done a buffered read, the command's input
-position may not be as expected.
-Similarly, the output from a command
-opened for writing may become intermingled with that of the original
-process.
-The latter can be avoided by calling
-.BR fflush (3)
-before
-.BR popen ().
-.P
-Failure to execute the shell is indistinguishable from the shell's failure
-to execute the command, or an immediate exit of the command.
-The only hint is an exit status of 127.
-.\" .SH HISTORY
-.\" A
-.\" .BR popen ()
-.\" and a
-.\" .BR pclose ()
-.\" function appeared in Version 7 AT&T UNIX.
-.SH SEE ALSO
-.BR sh (1),
-.BR fork (2),
-.BR pipe (2),
-.BR wait4 (2),
-.BR fclose (3),
-.BR fflush (3),
-.BR fopen (3),
-.BR stdio (3),
-.BR system (3)