FORK(2) System Calls Manual FORK(2)
fork - spawn new process
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 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. Process 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.
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
(fork = 2.)
(new process return)
(old process return, new process ID in r0)
The return locations in the old and new process differ by one word.
The C-bit is set in the old process if a new process could not be cre-