码迷,mamicode.com
首页 > Web开发 > 详细

PHP多进程编程

时间:2014-09-03 11:00:36      阅读:273      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   os   使用   for   div   代码   sp   

1.概述

PCNTL函数和POSIX函数。

PCNTL函数需要在编译时加上--enable-pcntl;至于POSIX函数默认开启的,只要不再编译时disable就可以。

常用函数:pcntl_fork,pcntl_getmypid,pcntl_wait,pcntl_signal,pcntl_signal_dispatch,posix_kill,posix_getpid

2.创建子进程

<?php
$pid = pcntl_fork();//程序从这一行开始分成两条执行线路,$pid的值对于父进程和子进程分别是子进程pid和0
//以下代码子进程和父进程都会执行,根据$pid的值来区分父子进程的代码逻辑
if($pid>0){
        //to do 父进程代码
}elseif(!$pid){
        //todo 子进程代码
}else{
        //创建子进程失败
}
while(pcntl_wait($status)!=0);
//ps:如果pcntl_fork被放置在循环结构中,则子进程会在从自己诞生的那个循环开始继续向下执行,这个是容易错漏的地方

3.信号管理

函数:pcntl_signal,pcntl_signal_dispatch

信号:SIGINT(使用ctrl-c结束进程时),SIGTERM(使用kill pid时),SIGUSR1,SIGUSR2,SIGCHLD(子进程结束时会向父进程发送此信号)

PHP多进程编程

标签:style   blog   color   os   使用   for   div   代码   sp   

原文地址:http://www.cnblogs.com/flytome/p/3953115.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!