fork 2






FORK(2) Podręcznik programisty linuxowego FORK(2)


NAZWA
fork, vfork - utwórz proces potomny

SKŁADNIA
#include <unistd.h>

pid_t fork(void);
pid_t vfork(void);

OPIS
fork tworzy proces potomny, który różni się od procesu
rodzicielskiego jedynie swoim PID-em i PPID-em, i faktem,
że użycie zasobów jest ustawione na 0. Locki plików i
oczekujące sygnały nie są dziedziczone.

Pod Linuxem, fork jest zaimplementowany przy użyciu stron
copy-on-write, więc jedynym mankamentem forka jest czas i
pamięć zużywana na duplikację stron rodzica i utworzenia
unikalnej struktury zadania dla potomka.

WARTOŚĆ ZWRACANA
Po sukcesie, w ciągu zadań rodzica zwracany jest pid
potomka, a w ciągu zadań potomka zwracane jest 0. Po
błędzie zwracane jest -1 w ciągu rodzica, nie jest twor
zony potomek i ustawiane jest errno .

BŁĘDY
EAGAIN fork bład alokacji wystarczającej ilości pamięci na
skopiowanie stron rodzica i zaalokowanie struktury
zadań.

ENOMEM fork nie potrafił zaalokować niezbędnych struktur
kernela z powodu braku pamięci.

BŁĘDY
Pod Linuxem, vfork jest zwyczajnie aliasem dla fork.

ZGODNE Z
Funkcja fork jest zgodna z SVr4, SVID, POSIX, X/OPEN, BSD
4.3.

ZOBACZ TAKŻE
clone(2), execve(2), wait(2)














Linux 1.2.9 10 June 1995 1





Wyszukiwarka