LXXXV. Process Control Functions
Introduction
Process Control support in PHP implements the Unix style
of process creation, program execution, signal handling
and process termination. Process Control should not be enabled
within a webserver environment and unexpected results may
happen if any Process Control functions are used within
a webserver environment.
This documentation is intended to explain the general usage
of each of the Process Control functions. For detailed information
about Unix process control you are encouraged to consult
your systems documentation including fork(2), waitpid(2)
and signal(2) or a comprehensive reference such as Advanced
Programming in the UNIX Environment by W. Richard Stevens
(Addison-Wesley).
PCNTL now uses ticks as the signal handle callback mechanism,
which is much faster than the previous mechanism. This change
follows the same semantics as using "user ticks".
You use the declare() statement to specify the locations
in your program where callbacks are allowed to occur. This
allows you to minimize the overhead of handling asynchronous
events. In the past, compiling PHP with pcntl enabled would
always incur this overhead, whether or not your script actually
used pcntl.
There is one adjustment that all pcntl scripts prior to
PHP 4.3.0 must make for them to work which is to either
to use declare() on a section where you wish to allow callbacks
or to just enable it across the entire script using the
new global syntax of declare().
Note: This extension is not available on Windows platforms.
Requirements
No external libraries are needed to build this extension.
Installation
Process Control support in PHP is not enabled by default.
You have to compile the CGI or CLI version of PHP with --enable-pcntl
configuration option when compiling PHP to enable Process
Control support.
Note: Currently, this module will not function on non-Unix
platforms (Windows).
|