Ce face pcntl_waitpid
Funcția suspendă temporar execuția procesului părinte până când procesul copil cu PID-ul specificat își încheie activitatea (sau verifică non-blocant starea acestuia prin flag-ul WNOHANG). Este obligatorie pentru a preveni acumularea de procese Zombi (procese terminate ale căror metadate rămân captive în tabela nucleului).
Exemplu practic: Așteptarea finalizării și verificarea stării
<?php
$status = 0;
// Așteptăm terminarea procesului copil $pid:
pcntl_waitpid($pid, $status);
if (pcntl_wifexited($status)) {
$codIesire = pcntl_wexitstatus($status);
echo "Procesul copil s-a încheiat normal cu codul de ieșire: " . $codIesire . "\n";
} elseif (pcntl_wifsignaled($status)) {
echo "Procesul copil a fost oprit forțat de semnalul: " . pcntl_wtermsig($status) . "\n";
}