php有个pcntl_fork的函数可以实现多进程,但要加载pcntl拓展,而且只有在linux下才能编译这个拓展,有时间在ubuntu下玩了下。
1.首先在ubuntu下编译pcntl.so,我的ubuntu下找不到pcntl的包,于是
创建一个文件夹下载了整个php包,在里面找到了pcntl包运行如下命令
# mkdir php# cd php# apt-get source php5# cd php5-(whatever_release)/ext/pcntl# phpize# ./configure (注一)# make# make install
phpize 命令是用来准备 php 外挂模块的编译环境的。
成功的安装将建立 extname.so 并放置于 php 的外挂模块目录中 (预设存放于 /usr/lib/php/modules/ 内) 。需要调整 php.ini,加入 extension=extname.so 这一行之后才能使用此外挂模块。
2,开始实验pcntl_fork
01 02 //while(1)//循环采用3个进程
03 //{
04 //declare(ticks=1);
05 $bwaitflag = false; // 是否等待进程结束
06 //$bwaitflag = true; // 是否等待进程结束
07 $intnum = 3; // 进程总数
08 $pids = array(); // 进程pid数组