Provided by:
manpages-pl-dev_20060617-1_all 
NAZWA
fork - utworzenie procesu potomnego
SKŁADNIA
#include <sys/types.h>
#include <unistd.h>
pid_t fork(void);
OPIS
fork tworzy proces potomny, który różni się od procesu macierzystego
jedynie swoimi numerami PID i PPID oraz tym, że w rzeczywistości użycie
przez niego zasobów jest ustawione na 0. Blokady plików i oczekujące
sygnały nie są dziedziczone.
Pod Linuksem fork funkcja jest zaimplementowana za pomocą kopiowania
stron pamięci przy zapisie, więc jedynymi mankamentami fork są czas i
pamięć wymagane do powielenia tablic stron rodzica i utworzenia
unikalnej struktury zadania dla potomka.
WARTOŚĆ ZWRACANA
Po pomyślnym zakończeniu, w procesie macierzystym zwracany jest PID
procesu potomnego, a w procesie potomnym zwracane jest 0. Po błędzie
zwracane jest -1 w kontekście rodzica, nie jest tworzony procesie
potomny i odpowiednio ustawiane jest errno.
BŁĘDY
EAGAIN fork nie mógł zaalokować ilości pamięci wystarczającej do
skopiowania tablic stron rodzica i dla struktury zadania dla
potomka.
ENOMEM fork nie potrafił zaalokować niezbędnych struktur jądra z powodu
niedostatecznej ilości pamięci.
ZGODNE Z
Funkcja fork jest zgodna z SVr4, SVID, POSIX, X/OPEN, BSD 4.3.
ZOBACZ TAKŻE
clone(2), execve(2), vfork(2), wait(2)