Provided by: manpages-ru_0.98-4_all bug

НАЗВАНИЕ

       fork - создает дочерний процесс

ОБЗОР

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

       pid_t fork(void);

ОПИСАНИЕ

       fork  создает  процесс-потомок,  который отличается от родительского только значениями PID
       (идентификатор процесса) и  PPID  (идентификатор  родительского  процесса),  а  также  тем
       фактом, что счетчики использования ресурсов установлены в 0.  Блокировки файлов и сигналы,
       ожидающие обработки, не наследуются.

       Под Linux fork реализован с помощью "копирования страниц при записи" (copy-on-write, COW),
       поэтому  расходы  на  fork  сводятся  к  копирования  таблицы  страниц родителя и созданию
       уникальной структуры, описывающей задачу.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       При успешном завершении родителю возвращается  PID  процесса-потомка,  а  процессу-потомку
       возвращается  0.   При  неудаче родительскому процессу возвращается -1, процесс-потомок не
       создается, а значение errno устанавливается должным образом.

ОШИБКИ

       EAGAIN fork не может выделить достаточно памяти для копирования таблиц страниц родителя  и
              для выделения структуры описания процесса-потомка.

       ENOMEM fork не может выделить необходимые ресурсы ядра, потому что памяти слишком мало.

СООТВЕТСТВИЕ СТАНДАРТАМ

       Системный вызов fork соответствует SVr4, SVID, POSIX, X/OPEN, BSD 4.3.

СМОТРИ ТАКЖЕ

       clone(2), execve(2), vfork(2), wait(2)

ПЕРЕВОД

       Copyright    (C)    Alexey    Mahotkin   <alexm@hsys.msk.ru>   2000,   Виктор   Вислобоков
       <corochoone@perm.ru> 2003