(PHP 5 >= 5.3.0, PHP 7, PHP 8)
pcntl_sigwaitinfo — Attend un signal
La fonction pcntl_sigwaitinfo() suspend son exécution jusqu'à
la réception d'un des signaux, indiqué dans signals.
Si un des signaux est déjà en attente (i.e., bloqué par
pcntl_sigprocmask()),
pcntl_sigwaitinfo() se termine immédiatement.
signalsUn tableau de signaux à attendre.
info
Le paramètre info reçoit un tableau
contenant les informations sur le signal.
Les éléments suivants sont toujours disponibles pour tous les signaux :
Les éléments suivants peuvent être disponibles pour le signal
SIGCHLD :
Les éléments suivants peuvent être disponibles pour les signaux
SIGILL,
SIGFPE, SIGSEGV et
SIGBUS :
Les éléments suivants peuvent être disponibles pour le signal
SIGPOLL :
Retourne un numéro du signal en cas de succès, ou false si une erreur survient.
| Version | Description |
|---|---|
| 8.4.0 |
Une exception ValueError est levée si le signal
est vide.
|
| 8.4.0 |
Une exception TypeError est levée si la valeur de signal
n'est pas un int.
|
| 8.4.0 |
Une exception ValueError est levée si la valeur de signal
est invalide.
|
Exemple #1 Exemple avec pcntl_sigwaitinfo()
<?php
echo "Bloque le signal SIGHUP\n";
pcntl_sigprocmask(SIG_BLOCK, array(SIGHUP));
echo "Envoi du signal SIGHUP à moi-même\n";
posix_kill(posix_getpid(), SIGHUP);
echo "Attente de signaux\n";
$info = array();
pcntl_sigwaitinfo(array(SIGHUP), $info);
?>