"Fossies" - the Fresh Open Source Software archive

Member "manpages-de-0.11/man2/fork.2" of archive manpages-de_0.11.orig.tar.gz:


Table of Contents

Bezeichnung

fork, vfork - erzeugt einen Kindprozess

Syntax

#include <unistd.h>

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

Description

fork erzeugt einen Kindprozess, der sich vom Vaterprozess nur durch die PID und PPID unterscheidet und darin, dass die Verwendung von Ressourcen auf 0 gesetzt ist. File-Locks und noch ausstehende Signale werden nicht vererbt.

Unter Linux ist fork unter Benutzung von copy-on-write Seiten implementiert, so dass der einzige Nachteil von fork die Zeit und der Speicher ist, der benötigt wird, um den die Page-Tables des Vaterprozesses zu kopieren und einen Task-Record fĂ¼r den Kindprozess anzulegen.

RÜckgabewert

Bei Erfolg wird dem Vaterprozess die PID des Kindes zurĂ¼ckgegeben und 0 dem Kindprozess. Bei Fehlern wird dem Vaterprozess -1 zurĂ¼ckgegeben und errno entsprechend gesetzt. Ein Kindprozess wird nicht generiert.

Fehler

EAGAIN
fork kann nicht ausreichend Speicher zuweisen, um die Page-Tabellen des Vaterprozesses zu kopieren und einen Task-Record fĂ¼r den Kindprozess anzulegen.

Bugs

Unter Linux ist vfork nichts anderes als ein Alias fĂ¼r fork.
fork gibt niemals den Fehler ENOMEM zurĂ¼ck.

Konform Zu

SVID, AT&T, POSIX, X/OPEN, BSD 4.3

Siehe Auch

clone(2), execve(2), wait(2).


Table of Contents