(PHP 5 >= 5.3.0, PHP 7, PHP 8)
pcntl_sigwaitinfo — Waits for signals
$signals, array &$info = []): int|false
   The pcntl_sigwaitinfo() function suspends execution of the
   calling script until one of the signals given in signals
   are delivered. If one of the signal is already pending (e.g. blocked by
   pcntl_sigprocmask()),
   pcntl_sigwaitinfo() will return immediately.
  
signalsArray of signals to wait for.
info
       The info parameter is set to an array containing
       information about the signal.
      
The following elements are set for all signals:
       The following elements may be set for the SIGCHLD signal:
       
       The following elements may be set for the SIGILL,
       SIGFPE, SIGSEGV and
       SIGBUS signals:
       
       The following element may be set for the SIGPOLL
       signal:
       
   Returns a signal number on success, or false on failure.
  
Example #1 pcntl_sigwaitinfo() example
<?php
echo "Blocking SIGHUP signal\n";
pcntl_sigprocmask(SIG_BLOCK, array(SIGHUP));
echo "Sending SIGHUP to self\n";
posix_kill(posix_getpid(), SIGHUP);
echo "Waiting for signals\n";
$info = array();
pcntl_sigwaitinfo(array(SIGHUP), $info);
?>