Unix/Linux Go Back    


BSD 2.11 - man page for fork (bsd section 2)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


FORK(2) 										  FORK(2)

NAME
       fork - create a new process

SYNOPSIS
       pid = fork()
       int pid;

DESCRIPTION
       Fork  causes  creation of a new process.  The new process (child process) is an exact copy
       of the calling process except for the following:

	    The child process has a unique process ID.

	    The child process has a different parent process ID (i.e., the process ID of the par-
	    ent process).

	    The  child	process  has its own copy of the parent's descriptors.	These descriptors
	    reference the same underlying objects, so that, for instance, file pointers  in  file
	    objects  are  shared  between  the	child  and  the  parent, so that an lseek(2) on a
	    descriptor in the child process can affect a subsequent read or write by the  parent.
	    This  descriptor  copying  is  also used by the shell to establish standard input and
	    output for newly created processes as well as to set up pipes.

	    The child processes resource utilizations are set to 0; see setrlimit(2).

RETURN VALUE
       Upon successful completion, fork returns a value of 0 to the child process and returns the
       process	ID  of	the  child  process  to  the parent process.  Otherwise, a value of -1 is
       returned to the parent process, no child process is created, and the global variable errno
       is set to indicate the error.

ERRORS
       Fork  will  fail  and no child process will be created if one or more of the following are
       true:

       [EAGAIN]       The system-imposed limit on the total number of processes  under	execution
		      would be exceeded.  This limit is configuration-dependent.

       [EAGAIN]       The  system-imposed  limit  MAXUPRC  (<sys/param.h>) on the total number of
		      processes under execution by a single user would be exceeded.

       [ENOMEM]       There is insufficient swap space for the new process.

SEE ALSO
       execve(2), wait(2)

3rd Berkeley Distribution		   May 22, 1986 				  FORK(2)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums


All times are GMT -4. The time now is 10:45 PM.