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 [AT] blv.br> (tradução) xxxxxxxxxxxxxxxxxxxxxxxxx <xxx [AT] xxxxxx.xx> (revisão)