manpagez: man pages & more
info gawk
Home | html | info | man

gawk: Extension Sample Fork

 16.7.3 Interface to 'fork()', 'wait()', and 'waitpid()'
 The 'fork' extension adds three functions, as follows:
 '@load "fork"'
      This is how you load the extension.
 'pid = fork()'
      This function creates a new process.  The return value is 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.
 'ret = waitpid(pid)'
      This function takes a numeric argument, which is the process ID to
      wait for.  The return value is that of the 'waitpid()' system call.
 'ret = wait()'
      This function waits for the first child to die.  The return value
      is that of the 'wait()' system call.
    There is no corresponding 'exec()' function.
    Here is an example:
      @load "fork"
      if ((pid = fork()) == 0)
          print "hello from the child"
          print "hello from the parent"
© 2000-2018
Individual documents may contain additional copyright information.