Groups | Search | Server Info | Keyboard shortcuts | Login | Register


Groups > pl.comp.os.linux.programowanie > #2223

waitpid i proces zakończony - nie dziala jak oczekuję

From heby <heby@poczta.onet.pl>
Newsgroups pl.comp.os.linux.programowanie
Subject waitpid i proces zakończony - nie dziala jak oczekuję
Date 2020-08-26 13:18 +0200
Organization A noiseless patient Spider
Message-ID <ri5gf5$s71$1@dont-email.me> (permalink)

Show all headers | View raw


Cześć.

Przyłapałem moją aplikację na takiej sytuacji:

Proces A: zawieszony w funkcji waitpid( numer )

Proces B o numerze "numer": <defunct>

Niepokoi mnie że waitpid służy do oczekiwania na *zmianę* statusu 
procesu potomnego. A ja chce czekać aż proces wyjdzie. nawet jeśli to 
czekanie rozpoczynam jak już wyszedł.

Zaznaczam że gdyby to była prawda (waitpid nie może czekać na zakończony 
proces), to nie widzę rozwiązania bez race condition. Czy mam rację 
podejrzewając że waitpid moze nie zauwazyć procesu który jest martwy w 
momencie wołania? Jak to się poprawnie rozwiązuje?

PS. Dokumentacja mówi jednak że "jesli proces już zmienił stan to 
natychmiast wyjdzie" Hmm... no więc czeka nie wiem na co a proces jest 
po exicie.

PS2. Drugi proces powstał w wyniku forka, ale nie dał rady odpalić execv 
i wyszedł natychmiast za pomoca exit().

Back to pl.comp.os.linux.programowanie | Previous | NextNext in thread | Find similar


Thread

waitpid i proces zakończony - nie dziala jak oczekuję heby <heby@poczta.onet.pl> - 2020-08-26 13:18 +0200
  Re: waitpid i proces zakończony - nie dziala jak oczekuję "Bogdan (bogdro)" <bogdan@poczta.gazeta.pl> - 2020-08-31 17:42 +0200
    Re: waitpid i proces zakończony - nie dziala jak oczekuję heby <heby@poczta.onet.pl> - 2020-08-31 17:52 +0200

csiph-web