Next: Extension Sample Inplace, Previous: Extension Sample Fnmatch, Up: Extension Samples [Contents][Index]
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" else print "hello from the parent"