(PHP 5 >= 5.3.0, PHP 7)

pcntl_sigwaitinfoWaits for signals


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

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 information 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

Valor Retornado

On success, pcntl_sigwaitinfo() returns a signal number.


Exemplo #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);

Veja Também

add a note add a note

User Contributed Notes 1 note

dave at mudsite dot com
4 years ago
This function is not available on platforms that do not implement the underlying C function.  Included in this would be MaxOS[1], and FreeBSD[2]

[1] : http://opensource.apple.com//source/xnu/xnu-1456.1.26/bsd/sys/signal.h

[2] : http://fxr.watson.org/fxr/source/sys/signal.h?v=FREEBSD11
To Top