NAME
fork, wait, waitpid – basic process managementSYNOPSIS
@load "fork"pid = fork()
ret = waitpid(pid)
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. # .SH NOTES
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"