FORK(II) 8/5/73 FORK(II)
NAME
fork - spawn new process
SYNOPSIS
(fork = 2.)
sys fork
(new process return)
(old process return)
fork( )
DESCRIPTION
Fork is the only way new processes are created. The new
process's core image is a copy of that of the caller of
fork. The only distinction is the return location and the
fact that r0 in the old (parent) process contains the
process ID of the new (child) process. This process ID is
used by wait.
The two returning processes share all open files that
existed before the call. In particular, this is the way
that standard input and output files are passed and also how
pipes are set up.
From C, the returned value is 0 in the child process, non-
zero in the parent process; however, a return of -1
indicates inability to create a new process.
SEE ALSO
wait (II), exec (II)
DIAGNOSTICS
The error bit (c-bit) is set in the old process if a new
process could not be created because of lack of process
space. From C, a return of -1 (not just negative) indicates
an error.