Attend un signal

# pcntl_sigwaitinfo

(PHP 5 >= 5.3.0, PHP 7)

pcntl_sigwaitinfo — Attend un signal

### Description

pcntl_sigwaitinfo ( array `$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` et `SIGBUS` :

  - 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

### Valeurs de retour

En cas de succès, pcntl_sigwaitinfo() retourne le numéro du signal.

### 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é