Waits for signals

(PHP 5 >= 5.3.0)

pcntl_sigwaitinfoWaits for signals


int pcntl_sigwaitinfo ( array $set [, array &$siginfo ] )

The pcntl_sigwaitinfo() function suspends execution of the calling script until one of the signals given in set are delivered. If one of the signal is already pending (e.g. blocked by pcntl_sigprocmask()), pcntl_sigwaitinfo() will return immediately.

Список параметров


Array of signals to wait for.


The siginfo parameter is set to an array containing informations about the signal.

The following elements are set for all signals:

  • signo: Signal number
  • errno: An error number
  • code: Signal code

The following elements may be set for the SIGCHLD signal:

  • status: Exit value or signal
  • utime: User time consumed
  • stime: System time consumed
  • pid: Sending process ID
  • uid: Real user ID of sending process

The following elements may be set for the SIGILL, SIGFPE, SIGSEGV and SIGBUS signals:

  • addr: Memory location which caused fault

The following element may be set for the SIGPOLL signal:

  • band: Band event
  • fd: File descriptor number

Возвращаемые значения

On success, pcntl_sigwaitinfo() returns a signal number.


Пример #1 pcntl_sigwaitinfo() example

echo "Blocking SIGHUP signal\n";
pcntl_sigprocmask(SIG_BLOCK, array(SIGHUP));

"Sending SIGHUP to self\n";
posix_kill(posix_getpid(), SIGHUP);

"Waiting for signals\n";
$info = array();
pcntl_sigwaitinfo(array(SIGHUP), $info);

Смотрите также