pcntl_waitpid în PHP

Multiprocesare și Sistem (PCNTL) PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8 Q&A / Distribuie cod

Ghid complet pentru pcntl_waitpid în PHP: sincronizarea procesului părinte cu procesele copil, curățarea proceselor zombi și citirea codului de ieșire.

Sintaxă
pcntl_waitpid(int $pid, &$status, int $flags = 0, &$resource_usage = []): int

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";
}
Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: pcntl_waitpid

Ai o nelămurire despre utilizarea comenzii pcntl_waitpid sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.