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

Re: waitpid




>>>>> Till Gloeggler writes:

Till> Wir sitzen gerade vor Aufgabe 2. Das wait-Kommando funktioniert,
Till> aber leider nur fuer einen Prozess (waitpid(pid,&status,0)).
Till> Wie bringe ich waitpid dazu auf ALLE Kind-Prozesse zu warten?
Till> (-1 und 0 funktionieren nicht.)

Nochmal genau in die man page gesehen:

       -1     which means to wait for any child process; this  is
              the same behaviour which wait exhibits.

Gemeint ist damit, dass waitpid auf _einen_ (beliebigen) Kindprozess
wartet - und nicht das auf _alle_ Kindprozesse gewartet wird. (Im
letzteren Fall waere auch die Interpretation des zweiten Arguments
nach dem Aufruf von waitpid() durchaus interessant.)

Im Klartext bedeutet dies, dass man in einer Schleife solange ein
waitpid(-1, ...) machen muss, bis alle Kindprozesse fertig sind. Wie
man das nun wieder einfach erkennt ueberlasse ich jetzt wieder Eurer
Phantasie. :-)

/js

-- 
Juergen Schoenwaelder    <http://www.informatik.uni-osnabrueck.de/schoenw/>