man(1) Manual page archive


     FORK(2)                                                   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 pro-
          cess 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 inade-
          quate 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 pro-
          cess could not be created.