Die Prozesskontrollunterstützung in PHP implementiert die Unixausführung
von Prozesserzeugung, Programmausführung, Signalverarbeitung und
Prozesstermination. Prozesskontrolle sollte nicht innerhalb einer
Webserverumgebung aktiviert werden und unerwartete Ergebnisse können
auftreten, wenn eine Prozesskontrollfunktion innerhalb einer
Webserverumgebung verwendet wird.
Die Absicht dieser Dokumentation ist es, die allgemeine Verwendung jeder
der Prozesskontrollfunktionen zu erklären. Für detaillierte Informationen
über Unix Prozesskontrolle empfehlen wir Ihnen, die Dokumentation
Ihres Systems einschließlich fork(2), waitpid(2) und signal(2) oder eine
umfassende Referenz wie zum Beispiel Advanced Programming in the
UNIX Environment von W. Richard Stevens (Addison-Wesley) hinzuzuziehen.
PCNT verwendet mitlerweile Ticks als Signalverarbeitungs-Callbackmechanismus,
welcher wesentlich schneller als der zuvor verwendete Mechanismus ist.
Dieser Wechsel folgt der selben Semantik wie die Verwendung von "Benutzer
Ticks". Man verwendet die declare() Anweisung, um die
Stellen in seinem Programm anzugeben, in denen Callbacks stattfinden dürfen.
Dies erlaubt Ihnen den Overhead durch die Behandlung von asynchronen
Ereignissen zu minimieren. In der Vergangenheit zog das Kompilieren von PHP
mit eingeschaltetem Pcntl immer diesen Overhead hinzu, egal ob ein Skript
tatsächlich Pcntl verwendete oder nicht.
Es gibt eine Anpassung, die an allen Pcntl Skripten vor PHP Version 4.3.0
vorgenommen werden muss, damit diese weiterhin funktionieren. Entweder muss
declare() für einen Abschnitt verwendet werden, in dem
man Callbacks erlauben will, oder diese für das gesamte Skript aktivieren,
indem man die neue, globale Syntax von declare()
verwendet.
Anmerkung: Diese Erweiterung steht auf
Windowsbetriebssystemen nicht zur Verfügung.