FORK(2)

NOME
fork - cria um processo filho

SINOPSE
#include <unistd.h>

pid_t fork(void);

DESCRIPTION
fork cria um processo filho que diferencia-se a partir do processo pai somente em suas PID e PPID, e np fato que a utilização de recursos é selecionada para 0. Arquivos travados e sinais pendentes não são herdados.

No Linux, fork is implemented using copy-on-write pages, so the only penalty incurred by fork is the time and memory required to duplicate the parent's page tables, and to create a unique task structure for the child.

RETURN VALUE
Em caso de sucesso, a PID do processo filho é devolvida na thread pai de execução, e um 0 é retornado na thread filha de execução. Caso contrário, um -1 será retornado no contexo pai, e nenhum processo filho será criado, e errno será selecionado adequadamente.

ERROS

EAGAIN
    fork não pode alocar memória suficiente para copiar as tabelas de páginas pais e alocar a estrutura de tarefa para o filho.

ENOMEM
    fork falhou ao alocar as estruturas do kernel necessárias porque a memória é pequena.

DE ACORDO COM
A chamada fork obedece SVr4, SVID, POSIX, X/OPEN, BSD 4.3.

VEJA TAMBÉM
clone(2), execve(2), vfork(2), wait(2)

TRADUZIDO POR LDP-BR em 21/08/2000.
André L. Fassone Canova <lonelywolf@blv.com.br> (tradução) xxxxxxxxxxxxxxxxxxxxxxxxx <xxx@xxxxxx.xxx.xx> (revisão)