unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (v7man)
Page:
Section:
Apropos / Subsearch:
optional field

FORK(2)                       System Calls Manual                      FORK(2)



NAME
       fork  -  spawn new process

SYNOPSIS
       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  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.

SEE ALSO
       wait(2), exec(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.

ASSEMBLER
       (fork = 2.)
       sys fork
       (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-
       ated.



                                                                       FORK(2)