[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Debian]: was ist denn fork()



On Tue, May 11, 1999 at 02:34:51PM -0400, OHSOFTWARE@aol.com wrote:
> > On Sat, May 08, 1999 at 01:47:31PM -0400, OHSOFTWARE@aol.com wrote:
> >  > 
> >  > Was amcht fork() denn? Das muß eine Linuxspezifische Funktion sein, mein 
> >  > Watcom Compiler weiß auch nix darüber.
> >  
> >  Nicht Linuxspezifisch. Allgemeines unter Unix verfügbar und dank POSIX
> >  noch mehr:
> >  
> >  fork(2):
> >         fork, vfork - erzeuge ein Kindprozeß
> >     KONFORM ZU
> >         SVID, AT&T, POSIX, X/OPEN, BSD 4.3
> >  
> >  Ist WinNT nicht auch inzwischen POSIX-konform? Dann sollte es dort
> >  doch auch einen fork() geben.
> 
> Vom Watcom / MSVC her gesehen währe das denn also _beginthread(...) C-Library 
> QNX, WIN, OS/2, Netware kompatible
> Oder Windows API CreateThread(...)? Oder läuft es mehr auf 
> (C-Library) exec..(...) bzw. (Windows API) CreateProcess(...) hinaus?

fork() dupliziert quasi den laufenden Prozess (die Kopie macht exakt an der
Stelle weiter wo das Original auch grad ist, d.h. nach dem fork()-Aufruf),
wobei es der Kopie einen Rueckgabewert von 0 gibt und dem Original die
Process-ID der Kopie (welche != 0 ist, so dass die Kopie weiss dass sie die
Kopie ist und nicht das Original).

fork() ist die Standardmethode unter Unices, um einen neuen Prozess zu
erschaffen.

Das urspruenglich angegebene Programm dupliziert sich also in einer
Endlosschleife, und alle dabei entstehenden Kopien tun das ebenfalls.
=> Exponentielles Wachstum von Prozessen.

Ansonsten ist das spaetestens jetzt voellig offtopic hier, und wenn's Dich
weiter interessiert solltest Du mal `man fork' (bzw. `man 2 fork') eingeben.

-- Niklas
------------------------------------------------
Um sich aus der Liste auszutragen schicken Sie
bitte eine E-Mail an majordomo@jfl.de die im Body
"unsubscribe debian-user-de <deine emailadresse>"
enthaelt.
Bei Problemen bitte eine Mail an: Jan.Otto@jfl.de
------------------------------------------------
Anzahl der eingetragenen Mitglieder:     735


Reply to: