swoole_process->start
ִ��forkϵͳ���ã�����̡�
int swoole_process->start();
�����ɹ������ӽ��̵�PID������ʧ�ܷ���false����ʹ��swoole_errno��swoole_strerror�õ�������ʹ�����Ϣ��
- $process->pid ����Ϊ�ӽ��̵�PID
- $process->pipe ����Ϊ�ܵ����ļ�������
ִ�к��ӽ��̻ᱣ�ָ����̵��ڴ����Դ���縸�����ڴ�����һ��redis���ӣ���ô���ӽ��̻ᱣ��˶������в������Ƕ�ͬһ�����ӽ��еġ�
ע������
��Ϊ�ӽ��̻�̳и����̵��ڴ��IO������������������Ҫ��������ӽ��̣����Ҫ�ȴ�������Ϻ���ʹ��
swoole_event_add
/�첽swoole_client
/��ʱ��
/�ź�
���첽IO������
����Ĵ���
$workers = []; $worker_num = 3;//�����Ľ����� for($i=0;$i<$worker_num ; $i++){ $process = new swoole_process('process'); $pid = $process->start(); $workers[$pid] = $process; //�ӽ���Ҳ��������¼� swoole_event_add($process->pipe, function ($pipe) use($process){ $data = $process->read(); echo "RECV: " . $data.PHP_EOL; }); } function process(swoole_process $process){// ��һ������ $process->write($process->pid); echo $process->pid,"\t",$process->callback .PHP_EOL; }
��ȷ�Ĵ��룺
$workers = []; $worker_num = 3;//�����Ľ����� for($i=0;$i<$worker_num ; $i++){ $process = new swoole_process('process'); $pid = $process->start(); $workers[$pid] = $process; } foreach($workers as $process){ //�ӽ���Ҳ��������¼� swoole_event_add($process->pipe, function ($pipe) use($process){ $data = $process->read(); echo "RECV: " . $data.PHP_EOL; }); } function process(swoole_process $process){// ��һ������ $process->write($process->pid); echo $process->pid,"\t",$process->callback .PHP_EOL; }