| .TH FORK 3am "Jan 15 2013" "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, |
| 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. |