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. # .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"

Willie has over 15 years of experience in Linux system administration and DevOps. After managing infrastructure for startups and enterprises alike, he founded Command Linux to share the practical knowledge he wished he had when starting out. He oversees content strategy and contributes guides on server management, automation, and security.