Control de procesos
PCNTL
&reftitle.intro;
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.
¬e.no-windows.extension;
&reference.pcntl.setup;
&reference.pcntl.constants;
&reference.pcntl.examples;
&reference.pcntl.reference;