fork manpage

Search topic Section
Get manual page for the search topic
List all commands matching the search topic
List all topics in the manpage index

FORK(2)			   Linux Programmer's Manual		       FORK(2)

       fork - create a child process

       #include <sys/types.h>
       #include <unistd.h>

       pid_t fork(void);

       fork()  creates	a  child  process that differs from the parent process
       only in its PID and PPID, and in the fact  that	resource  utilizations
       are set to 0.  File locks and pending signals are not inherited.

       Under  Linux,  fork()  is implemented using copy-on-write pages, so the
       only penalty that it incurs is the time and memory required  to	dupli-
       cate  the  parent's  page tables, and to create a unique task structure
       for the child.

       On success, the PID of the child process is returned  in	 the  parent's
       thread  of execution, and a 0 is returned in the child's thread of exe-
       cution.	On failure, a -1 will be returned in the parent's context,  no
       child process will be created, and errno will be set appropriately.

       EAGAIN fork()  cannot  allocate	sufficient memory to copy the parent's
	      page tables and allocate a task structure for the child.

       EAGAIN It was not possible to create a new process because the caller's
	      RLIMIT_NPROC  resource  limit  was  encountered.	To exceed this
	      limit, the process must have either  the	CAP_SYS_ADMIN  or  the
	      CAP_SYS_RESOURCE capability.

       ENOMEM fork()  failed  to  allocate  the	 necessary  kernel  structures
	      because memory is tight.

       SVr4, 4.3BSD, POSIX.1-2001.

       See pipe(2) and wait(2).

       clone(2), execve(2), setrlimit(2), unshare(2), vfork(2), wait(2), capa-

Linux 2.6.6			  2004-05-27			       FORK(2)
YoLinux.com Home Page
YoLinux Tutorial Index
Privacy Policy | Advertise with us | Feedback Form |
Unauthorized copying or redistribution prohibited.
    Bookmark and Share