oracular (3) fork.3am.gz

Provided by: gawk_5.2.1-2build3_amd64 bug

NAME

       fork, wait, waitpid - basic process management

SYNOPSIS

       @load "fork"

       pid = fork()

       ret = waitpid(pid)

       ret = wait();

DESCRIPTION

       The fork extension adds three functions, as follows.

       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,  ERRNO  indicates  the
              problem.   In  the  child, PROCINFO["pid"] and PROCINFO["ppid"] are updated to reflect the correct
              values.

       waitpid()
              This function takes a numeric argument, which is the process-id to wait for. The return  value  is
              that of the waitpid(2) system call.

       wait() This  function  waits  for the first child to die.  The return value is that of the wait(2) system
              call.

BUGS

       There is no corresponding exec() function.

       The interfaces could be enhanced to provide more facilities, including pulling out the  various  bits  of
       the return status.

EXAMPLE

       @load "fork"
       ...
       if ((pid = fork()) == 0)
           print "hello from the child"
       else
           print "hello from the parent"

SEE ALSO

       GAWK:  Effective  AWK Programming, filefuncs(3am), fnmatch(3am), inplace(3am), ordchr(3am), readdir(3am),
       readfile(3am), revoutput(3am), rwarray(3am), time(3am).

       fork(2), wait(2), waitpid(2).

AUTHOR

       Arnold Robbins, arnold@skeeve.com.

COPYING PERMISSIONS

       Copyright © 2012, 2013, 2018, Free Software Foundation, Inc.

       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.

       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.

       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.