Alt yürütülmesini bitirmek için neden benim ana süreç beklemek değil mi?

1 Cevap php

Ben en temel senaryomuz var:

$pid = pcntl_fork();
if ($pid == -1) {
     die('could not fork');
} else if ($pid) {
     // we are the parent
     echo "parent done";
     pcntl_wait($status); //Protect against Zombie children
     echo "all done";
} else {
     // we are the child
     echo "Child finished";
}

Ben bu çalıştırdığınızda, çıkış daima "Çocuk bitmiş" olduğunu. Ben bir lighttpd'nin sunucuda bu koşuyorum.

1 Cevap

Senin çocuğun bir sinyal alıyorum ama çıkış durumu değil gibi bir şey deneyin olabilir:

do {
    pcntl_wait($status);
} while (!pcntl_wifexited($status));

Emin durum çıkış bir (sigchild) yapmak için.