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 that the value returned in the
          old (parent) process is 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.  The 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 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.