pcntl_waitpid

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

pcntl_waitpid�ȴ��򷵻�fork���ӽ���״̬

˵��

pcntl_waitpid ( int $pid , int &$status [, int $options = 0 ] ) : int

����ǰ���̵�ִ��ֱ������pidָ���Ľ��̺ŵĽ����˳��� ����յ�һ���ź�Ҫ���жϵ�ǰ���̻����һ���źŴ�������

���pidָ�����ӽ����ڴ˺�������ʱ�Ѿ��˳����׳ƽ�ʬ���̣����˺��� �����̷��ء�����waitpid����ϸ�Ĺ淶��μ���ϵͳ��waitpid��2���ֲᡣ

����

pid

����pid��ֵ����������֮һ��

pid��ѡֵ
< -1 �ȴ����������ID���ڲ���pid����ֵ�ľ���ֵ�Ľ��̡�
-1 �ȴ������ӽ���;��pcntl_wait������Ϊһ�¡�
0 �ȴ���������ý�����ID��ͬ���ӽ��̡�
> 0 �ȴ����̺ŵ��ڲ���pidֵ���ӽ��̡�

Note:

ָ��-1��Ϊpid��ֵ��ͬ��pcntl_wait() �ṩ(����options)��

status

pcntl_waitpid()����洢״̬��Ϣ��status �����ϣ����ͨ��status�������ص�״̬��Ϣ���������º��� pcntl_wifexited(), pcntl_wifstopped(), pcntl_wifsignaled(), pcntl_wexitstatus(), pcntl_wtermsig()�Լ� pcntl_wstopsig()��ȡ������ֵ��

options

������IJ���ϵͳ������BSD��ϵͳ������ʹ��wait3���������ṩ��ѡ��options ����������������û���ṩ��wait���ᱻ����ϵͳ���á����wait3�����ã��ṩ���� options�������κ�Ч����options��ֵ������0 ��������������������������"������"����������������������嶼��Ч����

options���õ�ֵ
WNOHANG ���û���ӽ����˳����̷��ء�
WUNTRACED �ӽ����Ѿ��˳�������״̬δ����ʱ���ء�

����ֵ

pcntl_waitpid()�����˳����ӽ��̽��̺ţ���������ʱ����-1,����ṩ�� WNOHANG��Ϊoption��wait3���õ�ϵͳ������û�п����ӽ���ʱ����0��

�μ�

  • pcntl_fork() - �ڵ�ǰ���̵�ǰλ�ò�����֧���ӽ��̣�����ע��fork�Ǵ�����һ���ӽ��̣������̺��ӽ��� ����fork��λ�ÿ�ʼ���¼���ִ�У���ͬ���Ǹ�����ִ�й����У��õ���fork����ֵΪ�ӽ��� �ţ����ӽ��̵õ�����0��
  • pcntl_signal() - ��װһ���źŴ�����
  • pcntl_wifexited() - ���״̬�����Ƿ����һ���������˳���
  • pcntl_wifstopped() - ����ӽ��̵�ǰ�Ƿ��Ѿ�ֹͣ
  • pcntl_wifsignaled() - ����ӽ���״̬���Ƿ��������ij���źŶ��ж�
  • pcntl_wexitstatus() - ����һ���жϵ��ӽ��̵ķ��ش���
  • pcntl_wtermsig() - ���ص����ӽ����жϵ��ź�
  • pcntl_wstopsig() - ���ص����ӽ���ֹͣ���ź�