100 lines
2.6 KiB
Plaintext
100 lines
2.6 KiB
Plaintext
|
.TH FORK 3am "Feb 02 2018" "Free Software Foundation" "GNU Awk Extension Modules"
|
||
|
.SH NAME
|
||
|
fork, wait, waitpid \- basic process management
|
||
|
.SH SYNOPSIS
|
||
|
.ft CW
|
||
|
@load "fork"
|
||
|
.sp
|
||
|
pid = fork()
|
||
|
.sp
|
||
|
ret = waitpid(pid)
|
||
|
.sp
|
||
|
ret = wait();
|
||
|
.ft R
|
||
|
.SH DESCRIPTION
|
||
|
The
|
||
|
.I fork
|
||
|
extension adds three functions, as follows.
|
||
|
.TP
|
||
|
.B fork()
|
||
|
This function creates a new process. The return value is the zero
|
||
|
in the child and the process-id number of the child in the parent,
|
||
|
or \-1 upon error. In the latter case,
|
||
|
.B ERRNO
|
||
|
indicates the problem.
|
||
|
In the child, \fBPROCINFO["pid"]\fP and \fBPROCINFO["ppid"]\fP
|
||
|
are updated to reflect the correct values.
|
||
|
.TP
|
||
|
.B waitpid()
|
||
|
This function takes a numeric argument, which is the process-id to
|
||
|
wait for. The return value is that of the
|
||
|
.IR waitpid (2)
|
||
|
system call.
|
||
|
.TP
|
||
|
.B wait()
|
||
|
This function waits for the first child to die.
|
||
|
The return value is that of the
|
||
|
.IR wait (2)
|
||
|
system call.
|
||
|
.\" .SH NOTES
|
||
|
.SH BUGS
|
||
|
There is no corresponding
|
||
|
.B exec()
|
||
|
function.
|
||
|
.PP
|
||
|
The interfaces could be enhanced to provide more facilities,
|
||
|
including pulling out the various bits of the return status.
|
||
|
.SH EXAMPLE
|
||
|
.ft CW
|
||
|
.nf
|
||
|
@load "fork"
|
||
|
\&...
|
||
|
if ((pid = fork()) == 0)
|
||
|
print "hello from the child"
|
||
|
else
|
||
|
print "hello from the parent"
|
||
|
.fi
|
||
|
.ft R
|
||
|
.SH "SEE ALSO"
|
||
|
.IR "GAWK: Effective AWK Programming" ,
|
||
|
.IR filefuncs (3am),
|
||
|
.IR fnmatch (3am),
|
||
|
.IR inplace (3am),
|
||
|
.IR ordchr (3am),
|
||
|
.IR readdir (3am),
|
||
|
.IR readfile (3am),
|
||
|
.IR revoutput (3am),
|
||
|
.IR rwarray (3am),
|
||
|
.IR time (3am).
|
||
|
.PP
|
||
|
.IR fork (2),
|
||
|
.IR wait (2),
|
||
|
.IR waitpid (2).
|
||
|
.SH AUTHOR
|
||
|
Arnold Robbins,
|
||
|
.BR arnold@skeeve.com .
|
||
|
.SH COPYING PERMISSIONS
|
||
|
Copyright \(co 2012, 2013, 2018,
|
||
|
Free Software Foundation, Inc.
|
||
|
.PP
|
||
|
Permission is granted to make and distribute verbatim copies of
|
||
|
this manual page provided the copyright notice and this permission
|
||
|
notice are preserved on all copies.
|
||
|
.ig
|
||
|
Permission is granted to process this file through troff and print the
|
||
|
results, provided the printed document carries copying permission
|
||
|
notice identical to this one except for the removal of this paragraph
|
||
|
(this paragraph not being relevant to the printed manual page).
|
||
|
..
|
||
|
.PP
|
||
|
Permission is granted to copy and distribute modified versions of this
|
||
|
manual page under the conditions for verbatim copying, provided that
|
||
|
the entire resulting derived work is distributed under the terms of a
|
||
|
permission notice identical to this one.
|
||
|
.PP
|
||
|
Permission is granted to copy and distribute translations of this
|
||
|
manual page into another language, under the above conditions for
|
||
|
modified versions, except that this permission notice may be stated in
|
||
|
a translation approved by the Foundation.
|
||
|
.\" vim: set filetype=nroff :
|