HPUX CrtPipelin[3]

CrtPipelin in anderen Kapiteln des hpux Handbuch:
Tcl_CreatePipeline(3) Tcl Tcl_CreatePipeline(3)
Tcl Library Procedures Tcl Library Procedures
___________________________________________________________________________
NAME
Tcl_CreatePipeline - create one or more child processes, with I/O
redirection
SYNOPSIS
#include <tcl.h>
int
Tcl_CreatePipeline(interp, argc, argv, pidArrayPtr, inPipePtr, outPipePtr, errFilePtr)
ARGUMENTS
Tcl_Interp *interp (in) Interpreter to use for error
reporting.
int argc (in) Number of strings in argv
array.
char **argv (in) Array of strings describing
command(s) and I/O redirection.
int **pidArrayPtr (out) The value at *pidArrayPtr is
modified to hold a pointer to
an array of process
identifiers. The array is
dynamically allocated and must
be freed by the caller.
int *inPipePtr (out) If this argument is NULL then
standard input for the first
command in the pipeline comes
from the current standard
input. If inPipePtr is not
NULL then Tcl_CreatePipeline
will create a pipe, arrange for
it to be used for standard
input to the first command, and
store a file id for writing to
that pipe at *inPipePtr. If
the command specified its own
input using redirection, then
no pipe is created and -1 is
stored at *inPipePtr.
int *outPipePtr (out) If this argument is NULL then
standard output for the last
command in the pipeline goes to
the current standard output.
- 1 - Formatted: August 11, 1996
Tcl_CreatePipeline(3) Tcl Tcl_CreatePipeline(3)
Tcl Library Procedures Tcl Library Procedures
If outPipePtr is not NULL then
Tcl_CreatePipeline will create
a pipe, arrange for it to be
used for standard output from
the last command, and store a
file id for reading from that
pipe at *outPipePtr. If the
command specified its own
output using redirection then
no pipe is created and -1 is
stored at *outPipePtr.
int *errFilePtr (out) If this argument is NULL then
error output for all the
commands in the pipeline will
go to the current standard
error file. If errFilePtr is
not NULL, error output from all
the commands in the pipeline
will go to a temporary file
created by Tcl_CreatePipeline.
A file id to read from that
file will be stored at
*errFilePtr. The file will
already have been removed, so
closing the file descriptor at
*errFilePtr will cause the file
to be flushed completely.
___________________________________________________________________________
DESCRIPTION
Tcl_CreatePipeline processes the argv array and sets up one or more
child processes in a pipeline configuration. Tcl_CreatePipeline
handles pipes specified with ``|'', input redirection specified with
``<'' or ``<<'', and output redirection specified with ``>''; see the
documentation for the exec command for details on these
specifications. The return value from Tcl_CreatePipeline is a count
of the number of child processes created; the process identifiers for
those processes are stored in a malloc-ed array and a pointer to that
array is stored at *pidArrayPtr. It is the caller's responsibility to
free the array when finished with it.
If the inPipePtr, outPipePtr, and errFilePtr arguments are NULL then
the pipeline's standard input, standard output, and standard error are
taken from the corresponding streams of the process. Non-NULL values
may be specified for these arguments to use pipes for standard input
and standard output and a file for standard error. Tcl_CreatePipeline
will create the requested pipes or file and return file identifiers
- 2 - Formatted: August 11, 1996
Tcl_CreatePipeline(3) Tcl Tcl_CreatePipeline(3)
Tcl Library Procedures Tcl Library Procedures
that may be used to read or write them. It is the caller's
responsibility to close all of these files when they are no longer
needed. If argv specifies redirection for standard input or standard
output, then pipes will not be created even if requested by the
inPipePtr and outPipePtr arguments.
If an error occurs in Tcl_CreatePipeline (e.g. ``|'' or ``<'' was the
last argument in argv, or it wasn't possible to fork off a child),
then -1 is returned and interp->result is set to an error message.
SEE ALSO
Tcl_DetachPids, Tcl_ReapDetachedProcs
KEYWORDS
background, child, detach, fork, process, status, wait
- 3 - Formatted: August 11, 1996