PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Timeout auf waitpid Aufruf



7.e.Q
05-10-2004, 11:02
Hallo,

wie setze ich auf einen waitpid-Aufruf ein Timeout? Also ich will prüfen, ob ein Child-Prozess beendet wurde, zur Not auf dessen Beendigung warten und wenn diese innerhalb einer bestimmten Zeit nicht eintritt - genauer gesagt, nach dieser Zeit noch keine Rückgabewerte des Prozesses verfügbar sind - möchte ich den Prozess hart abschießen (SIGKILL). Ich hab das jetzt schon mit 'nem setitimer Aufruf vor dem waitpid versucht, aber weiß nicht, wie ich dann nach dem waitpid unterscheiden soll, ob es sich um einen korrekten Rücksprung aus waitpid handelt, oder ob der Timer abgelaufen war. Gibt es vielleicht eine Möglichkeit die restliche Zeit eines nicht abgelaufenen Timers abzufragen? Oder ist das Konztep grundsätzlich falsch?

Wie baue ich Timeouts auf blockierende Systemcalls???

Danke!

Gruß,
Hendrik

Jasper
06-10-2004, 22:23
gutes beispiel:

http://cvs.pld.org.pl/PLD-utils/timeout/signals.c


-j

7.e.Q
19-10-2004, 10:15
Jo, hab's mittlerweile auch herausgefunden... ist ja hammer umständlich. Aber funktioniert. :)

Erledigt! Danke!