FORK(2) GENIX Programmer's Manual FORK(2)
NAME
fork - spawn new process
SYNOPSIS
fork()
DESCRIPTION
Fork and vfork(2) are the only ways new processes are created. With
fork , the new process's core image is a copy of that of the caller
of fork. The only distinction is the fact that the value returned
in the old (parent) process contains the process ID of the new
(child) process, while the value returned in the child is 0. Pro-
cess ID's range from 1 to 30,000. This process ID is used by
wait(2).
Files open before the fork are shared, and have a common read-write
pointer. In particular, this is the way that standard input and
output files are passed and also how pipes are set up.
Vfork is the most efficient way of creating a new process when the
fork is to be followed shortly by an exec, but is not suitable when
the fork is not to be followed by an exec.
SEE ALSO
wait(2), exec(2), vfork(2)
DIAGNOSTICS
Returns -1 and fails to create a process if: there is inadequate
swap space, the user is not super-user and has too many processes,
or the system's process table is full. Only the super-user can take
the last process-table slot.
Printed 11/16/83 1