Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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)

NAME | SYNOPSIS | DESCRIPTION | SEE ALSO | DIAGNOSTICS | ASSEMBLER

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=fork&sektion=2&manpath=Unix+Seventh+Edition>

home | help