pcntl_sigwaitinfo
(PHP 5 >= 5.3.0, PHP 7)
pcntl_sigwaitinfo — Attend un signal
Description
$set
[, array &$siginfo
] ) : int
La fonction pcntl_sigwaitinfo() suspend son exécution jusqu'à
la réception d'un des signaux, indiqué dans set
.
Si un des signaux est déjà en attente (i.e., bloqué par
pcntl_sigprocmask()),
pcntl_sigwaitinfo() se termine immédiatement.
Liste de paramètres
-
set
-
Un tableau de signaux à attendre.
-
siginfo
-
Le paramètre
siginfo
reçoit un tableau contenant les informations sur le signal.Les éléments suivants sont toujours disponibles pour tous les signaux :
- signo : numéro de signal
- errno : un numéro d'erreur
- code : code de signal
Les éléments suivants peuvent être disponibles pour le signal
SIGCHLD
:- status : valeur de sortie ou signal
- utime : temps utilisateur consommé
- stime : temps système consommé
- pid : numéro de processus appelant
- uid : identifiant de l'utilisateur appelant, ou du processus appelant
Les éléments suivants peuvent être disponibles pour les signaux
SIGILL
,SIGFPE
,SIGSEGV
etSIGBUS
:- addr : adresse mémoire qui a causé l'erreur
Les éléments suivants peuvent être disponibles pour le signal
SIGPOLL
:- band : événement de band
- fd : numéro de pointeur de fichier
Exemples
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);
?>
Voir aussi
- pcntl_sigprocmask() - Liste et configure les signaux bloqués
- pcntl_sigtimedwait() - Attend un signal dans un délai donné
Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-pcntl-sigwaitinfo.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.