PCNTL
PHP Manual

Introducción

El soporte para el Control de Procesos en PHP implementa el estilo UNIX de creación de procesos, ejecución de programas, gestión de señales y terminación de procesos. El Control de Procesos no debería estar habilitado en un entorno de servidor web, ya que podrían ocurrir resultados inesperados si cualquier función del Control de Procesos es usada dentro de dichos entornos.

Esta documentación busca explicar el uso general de cada una de las funciones del Control de Procesos. Para obtener información detallada sobre el control de procesos de UNIX se recomienda consultar la documentación del sistema incluyendo fork(2), waitpid(2) y signal(2) o una referencia completa, como el libro "Advanced Programming in the UNIX Environment" de W. Richard Stevens (Addison-Wesley).

PCNTL ahora usa pulsos (ticks) como mecanismo de retrollamada de manejadores de señal, que es mucho más rápido que el mecanismo previo. Este cambio sigue la misma semántica que usar "pulsos de usuario". Se usa la sentencia declare() para especificar los lugares del programa donde se permiten que sucedan las retrollamadas. Esto te permite minimizar la sobrecarga de manejar eventos asincrónicos. En el pasado, compilar PHP con pcntl habilitado siempre provocaba esta sobrecarga, sin importar si el script realmente empleaba pcntl.

Existe un ajuste que todos los scripts de pcntl anteriores a PHP 4.3.0 deben realizar para que funcionen, que es o bien usar declare() en una sección donde se desean permitir las retrollamadas o simplemente habilitarlas a lo largo del script usando la nueva sintaxsis global de declare().

Nota: Esta extensión no está disponible en plataformas Windows.


PCNTL
PHP Manual