pcntl_sigwaitinfo

(PHP 5 >= 5.3.0, PHP 7)

pcntl_sigwaitinfo�ȴ��ź�

˵��

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

pcntl_sigwaitinfo()������ͣ���ýű���ִ��ֱ�����յ�set �������г���ij���źš�ֻҪ���е�һ���ź��Ѿ��ڵȴ�״̬(���磺 ͨ�� pcntl_sigprocmask()��������)�� ����pcntl_sigwaitinfo()�ͻ����̷��ء�

����

set

Ҫ�ȴ����ź����顣

siginfo

siginfo��һ��������������������źŵ���Ϣ��

����Ԫ�ػ�Ϊ�����ź����ã�

  • signo: �źű��
  • errno: ������
  • code: �źŴ���

����Ԫ�ؿ��ܻ�ΪSIGCHLD�ź�����:

  • status: �˳���ֵ���ź�
  • utime: �û����ĵ�ʱ��
  • stime: ϵͳ���ںˣ����ĵ�ʱ��
  • pid: ���ͽ���ID
  • uid: ���ͽ��̵�ʵ���û�ID

�ź�SIGILL, SIGFPE, SIGSEGV �� SIGBUS ���ܻᱻ���õ�Ԫ��:

  • addr: �������ϵ��ڴ�λ��

���ܻ�ΪSIGPOLL �ź����õ�Ԫ�أ�

  • band: Band event
  • fd: �ļ�������

����ֵ

�ɹ�ʱ������pcntl_sigwaitinfo()����һ���źű�š�

����

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);
?>

�μ�