fork und wait (was: [FLAME] Re: Consolen Kommandos)

From: Bernd Walter <ticso(at)cicely9.cicely.de>
Date: Fri, 9 May 2003 12:45:11 +0200

On Fri, May 09, 2003 at 11:06:16AM +0200, Thomas Zastrow wrote:
> Thorsten Steentjes wrote:
> >Ohne den Compiler zu bemuehen tut es ein
> >perl -e 'while(1){fork();}'
> >
> Aeh Moment mal, da muss ich jetzt mal nachfragen ... ich habe den
> Perl-Befehl auf meiner RedHat 9.0 laufen lassen - und Absturz.
> http://www.perldoc.com/perl5.6/pod/func/fork.html erzaehlt mir jetzt:
>
> "If you |fork| without ever waiting on your children, you will
> accumulate zombies."

Das ist soweit richtig.
Mit wait holst du den Exitwert und bei BEdarf einige Statistiken vom
Prozess ab.
Wenn du das nicht tust, dann bleibt der Prozess solange als Zombie
stehen.

> Sehe ich es richtig dass genau das hier passiert ist??? Und sowas - doch
> relativ simples - bringt ein *nix zum Absturz? Ich trau mich nicht dass
> jetzt auch mal unter FreeBSD auszuprobieren ... vielleicht heute Abend
> wenn keiner mehr hier ist ... :-)

Normalerweise sollte die Prozesslimitierung greifen.
Wenn dein Limit höher ist als dein System Resourcen hat, dann wird
der fork irgendwann fehlschlagen, weil eben diese Resourcen fehlen.
Einen Panic sollte es nicht geben.

-- 
B.Walter                   BWCT                http://www.bwct.de
ticso(at)bwct.de                                  info(at)bwct.de
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Fri 09 May 2003 - 13:07:05 CEST

search this site