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)