bu benim biçerdöverine olarak How to squeeze in additional parameters to a reaper function when a parent is signalled to kill a child (c)?wait()/waitpid() 1 değerini döndürür, çocuğun pid'i değil, nasıl düzeltilir?
takip olduğunu(), ben en üst pid çocuk (burada olmayan acımasız bir kelime) bitirmek üzeredir ulaşmaya çalışıyorum. ama bekle() çocuğun pidini döndürmez; bunun yerine 1 döndürür. Herhangi bir yerde 1 değeri için bir belge bulamıyorum. Herhangi bir kafa?
void reaper(int sig)
{
int status, killedpid;
while(killedpid = (/*waitpid(-1, &status, WNOHANG)*/wait(&status)) >= 0)
{
printf("reaper %d killed %d\n", getpid(), killedpid);
}
}
Benim sonuçları:
reaper 5933 killed 1 //actual child pid is 5936
şimdiden teşekkür ederiz!
Oh, terminolojiyle devam edelim diyorum. Bu, nix'in eğlencesinin bir parçası. "Çocuk öldü ve ebeveyn zombi sürecine girdi." – Thanatos