php开启子进程处理

$pageNum = ceil($totalNum/$pageSize);
for($page=1;$page<=$pageNum;$page++){
    $this->o_pcntl->tps_pcntl_wait(‘$this->o_cron->doNewMemberSharPage(\‘‘.$page.‘\‘,\‘‘.$pageSize.‘\‘);‘);//用子进程处理每一页
}

<?php

class o_pcntl extends CI_Model {

    function __construct() {
        parent::__construct();
    }

    public function tps_pcntl_wait($childProcessCode){

        $pid = pcntl_fork();
        if($pid>0){

            pcntl_wait($status);
            @$this->db->reconnect();
        }elseif($pid==0){

            eval($childProcessCode);
            exit;
        }else{
            die(‘Cannot fork.‘);
        }
    }
}
时间: 2024-10-10 16:27:46

php开启子进程处理的相关文章

5.1.2 网络编程进阶---开启子进程的两种方式

当主进程开启子进程后,主进程会与子进程并行执行.当主进程执行后不会立马结束进程,而是会等子进程结束才结束,好去清理僵尸子进程(给子进程收尸). 第一种方式: from multiprocessing import Processimport time def task(name): print('%s is running' % name) time.sleep(3) print('%s is done' % name) if __name__ == '__main__': p = Proces

开启子进程的两种方式,孤儿进程与僵尸进程,守护进程,互斥锁,IPC机制,生产者与消费者模型

开启子进程的两种方式 # # # 方式一: # from multiprocessing import Process # import time # # def task(x): # print('%s is running' %x) # time.sleep(3) # print('%s is done' %x) # # if __name__ == '__main__': # # Process(target=task,kwargs={'x':'子进程'}) # p=Process(tar

第34篇 通过类的方法开启子进程,以及传参,join阻塞,daemon守护进程,同步Lock,Samphore信号量,event事件

内容大纲: Process开启子进程 #另外一种开启子进程的方式 #join控制子进程 #守护进程 同步控制 #锁 Lock #信号量 Samphore #事件 Event #join控制子进程#p.join() 阻塞p进程,p进程执行结束,才结束阻塞.import timeimport randomfrom multiprocessing import Processdef func(index): time.sleep(random.random()) print('第%s个邮件已经发送完毕

创建并开启子进程的两种方式

#开进程的方法一: import time import random from multiprocessing import Process def piao(name): print('%s piaoing' %name) time.sleep(random.randrange(1,5)) print('%s piao end' %name) p1=Process(target=piao,args=('egon',)) #必须加,号 p2=Process(target=piao,args=(

创建并开启子进程的两种方式2

#开进程的方法二: import time import random from multiprocessing import Process class Piao(Process): def __init__(self,name): super().__init__() self.name=name def run(self): print('%s piaoing' %self.name) time.sleep(random.randrange(1,5)) print('%s piao end

开启程序子进程的方式

开启进程的方式 串行:一个完完整整的执行完再执行下一个 并发:看起来是同时运行的 并行:真正做到了同时运行多道技术(了解) 空间复用:共用一个内存条,每一个进程都有自己独立的内存空间,互不干扰,物理级别的隔离 空间复用:共用一个cpu cpu切换(掌握) io的时候,占用时间过长 切换现代计算机:现在的主机一般是多核,那么每个核都会利用多道技术 有4个cpu,运行于cpu1的某个程序遇到io阻塞,会等到io结束再重新调度,会被调度到 4个cpu的任意一个,具体由操作系统调度算法决定 并发:切换+

Python标准库06 子进程 (subprocess包)

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 谢谢Tolbkni Kao帮我纠正错误 这里的内容以Linux进程基础和Linux文本流为基础.subprocess包主要功能是执行外部的命令和程序.比如说,我需要使用wget下载文件.我在Python中调用wget程序.从这个意义上来说,subprocess的功能与shell类似. subprocess以及常用的封装函数 当我们运行python的时候,我们都是在创建并运行一个进

python子进程模块subprocess详解

属性 1.Popen.poll():用于检查子进程是否已经结束.设置并返回returncode属性. 2.Popen.wait():等待子进程结束.设置并返回returncode属性. 3.Popen.communicate(input=None):与子进程进行交互.向stdin发送数据,或从stdout和stderr中读取数据.可选参数input指定发送到子进程的参数.Communicate()返回一个元组:(stdoutdata, stderrdata).注意:如果希望通过进程的stdin向

【Python】 子进程创建与使用subprocess

subprocess *****本文参考了Vamei大神的http://www.cnblogs.com/vamei/archive/2012/09/23/2698014.html 运用subprocess包可以在运行python的进程下进一步开启一个子进程,创建子进程要注意 1. 父进程是否暂停 2.创建出的子进程返回了什么 3.执行出错,即返回的code不是0的时候应该如何处理 subprocess包提供了三个开启子进程的方法,subprocess.call() , subprocess.ch