|
Синтаксис
#include <unistd.h> pid_t fork(void); |
Описание
fork создает новый процесс, почти точную копию родительского процесса. Новый процесс отличается от родительского только значениями идентификатора процесса (PID) и идентификатором родительского процесса (PPID), а также тем, что счетчики использования ресурсов установлены в 0. Основные характеристики родительского процесса, наследуемые дочерним процессом следующие:
Блокировки файлов и сигналы, ожидающие обработки, не наследуются. Порожденный процесс получает свои собственные копии родительских дескрипторов файлов. Каждый дескриптор файла порожденного процесса разделяет с соответствующим родительским дескриптором файла общий указатель текущей позиции в файле. |
Возвращаемое значение
При успешном завершении родителю возвращается PID дочернего процесса, а дочернему процессу возвращается 0. При неудаче родительскому процессу возвращается -1, дочерний процесса не создается, а переменной errno присваивается код ошибки. |
См.также
exec, exit, wait. |