NAZWA¶
fork - utworzenie procesu potomnego
SKŁADNIA¶
#include <sys/types.h>
#include <unistd.h>
pid_t fork(void);
OPIS¶
Uwaga! To tłumaczenie może być nieaktualne!
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)
Powyższe tłumaczenie pochodzi z nieistniejącego już
Projektu Tłumaczenia Manuali i
może nie być
aktualne. W razie zauważenia różnic między
powyższym opisem a rzeczywistym zachowaniem opisywanego programu lub
funkcji, prosimy o zapoznanie się z oryginalną
(angielską) wersją strony podręcznika za pomocą
polecenia:
- man --locale=C 2 fork
Prosimy o pomoc w aktualizacji stron man - więcej informacji można
znaleźć pod adresem
http://sourceforge.net/projects/manpages-pl/.