PHP
Referenzliste
pcntl_signal
PCNTL Funktionen
Befehl:
bool pcntl_signal ( int $signo , callable | int $handler [, bool $restart_syscalls = true ] )
Parameter-Liste:
Beschreibung | |
---|---|
Die Signalnummer. | |
Das Signal-Handler. Dies kann entweder ein callable, die aufgerufen wird, zu hand werden die Signal oder eines der beiden globalen Konstanten SIG_IGN oder SIG_DFL , der das Signal zu ignorieren oder die Standard wird Signal-Handler auf.Hinweis: Beachten Sie, dass, wenn Sie einen Handler für ein Objekt-Methode festgelegt wird Referenzzähler des Objekts erhöht, was sie bestehen, bis Sie entweder die Handler, etwas anderes macht, oder Ihr Skript endet. | |
Legt fest, ob Systemaufruf Neustart sollte verwendet werden, wenn dieses Signal ankommt. |
Rückgabewerte:
Gibt bei Erfolg
TRUE
zurück. Im Fehlerfall wird FALSE
zurückgegeben. Beschreibung:
Die pcntl_signal() span>-Funktion installiert eine neue Signal-Handler oder ersetzt die aktuelle Signalhandler für das von
signo
angegeben Signal. Aktiv in Version:
(PHP 4 >= 4.1.0, PHP 5, PHP 7)
Siehe auch:
Richtet eine Signalverarbeitung ein
Sets und ruft blockiert Signale
Wartet auf Signale
Wartet auf Signale, mit einem Timeout
pcntl_signal() - Beispiel:
Eingabe:
<?php // Verwendung von Ticks wird seit PHP 4.3.0. benötigt declare(ticks = 1); // Signalverarbeitungsfunktion function sig_handler($signo) { switch ($signo) { case SIGTERM: // Aufgaben zum Beenden bearbeiten exit; break; case SIGHUP: // Aufgaben zum Neustart bearbeiten break; case SIGUSR1: echo "Caught SIGUSR1...\n"; break; default: // Alle anderen Signale bearbeiten } } echo "Richte neue Signalverarbeitung ein...\n"; // Signalverarbeitung einrichten pcntl_signal(SIGTERM, "sig_handler"); pcntl_signal(SIGHUP, "sig_handler"); pcntl_signal(SIGUSR1, "sig_handler"); // oder ein Objekt verwenden, ab PHP 4.3.0 möglich // pcntl_signal(SIGUSR1, array($obj, "tu_etwas"); echo "Erzeuge signal SIGTERM an mich selbst...\n"; // sende SIGUSR1 an die aktuelle Prozess ID posix_kill(posix_getpid(), SIGUSR1); echo "Fertig\n" ?>
Beschreibung:
Beschreibung | |
---|---|
4.3.0 | Die restart_syscalls -Parameter hinzugefügt. |
4.3.0 | Die Fähigkeit, eine Objektmethode als Callback zu verwenden verfügbar wurde. |
4.3.0 | Ab PHP 4.3.0 PCNTL nutzt Zecken als Signal Griff Callback-Mechanismus, der viel schneller als der bisherige Mechanismus ist. Diese Änderung folgt die gleiche Semantik wie mit "user ticks". Sie müssen die declare()-Anweisung verwenden, um die Stellen in Ihrem Programm, wo Rückrufe dürfen für das Signal-Handler-Funktion auftreten angeben richtig (wie in dem folgenden Beispiel verwendet wird). |
PCNTL Funktionen