NAAM
fork − maak een kindproces
OVERZICHT
#include
<sys/types.h>
#include <unistd.h>
pid_t fork(void);
BESCHRIJVING
fork() Maakt een kindproces dat alleen van zijn ouderproces verschilt in zijn PID, PPID, in dat systeemmiddelen gebruik op ’0’ is gezet, en in het feit dat bestandvergrendelingen en nog hangende signalen niet worden geërfd.
Onder Linux is fork() uitgevoert met kopieër-als-schrijf {copy-on-write} pagina’s, de enige straf voor een fork() is dus de tijd en het geheugen die het kost om de pagina-tabellen van de ouder na te maken, en het maken van een unieke taakstructuur voor het kind.
EIND WAARDE
Bij success wordt de PID van het kindproces teruggegeven in het ouderproces en wordt 0 teruggegeven in het kindproces. Bij falen wordt −1 teruggegeven in het ouderproces, er wordt geen kind gemaakt, en errno wordt naar behoren gezet.
FOUTEN
EAGAIN |
{opnieuw} fork() Kon niet genoeg geheugen krijgen om de paginatabellen van de ouder te kopieëren, en om een taak structuur voor het kind in op te bergen. | ||
ENOMEM |
{geen geheugen} fork() Faalde in het vrijmaken van de nodige kernel structuren omdat er te weinig geheugen was. |
VOLDOET AAN
De fork() aanroep voldoet aan SVr4, SVID, POSIX, X/OPEN, BSD 4.3.
ZIE OOK
clone(2) {klonen}, execve(2) {uitvoeren}, vfork(2) {splitsen}, wait(2) {wachten}
VERTALING
Dit is een handleiding uit manpages-dev 1.34. Alles wat tussen ’{’..’}’ staat is aanvullende vertaling, en hoort niet bij de originele handleiding. Email naar <manpages-nl [AT] nl.org>.
$Id: fork.2,v 1.1.1.1 2004/03/21 21:02:25 cor Exp $