zoukankan      html  css  js  c++  java
  • popen——php多进程利器

    偷笑标题有点儿夸张,

    我(们,本来想用们的,还会去掉了)运行系统命令常常用exec,system之类的,

    但是今天发现了proc_open和popen,proc_open自称比popen多一些功能,确实,proc_open有很多功能,可以与程序交互,

    ——但是,他是同步的,就是说一个程序没有运行结束,不能运行下一个!就没办法异步多进程了。

    ——但,popen是异步的

     

    上代码:

    pro.php

    <?php
    $process = array();
    for($i=0;$i<5;$i++)
    {
    	echo $i.' opening ... '.chr(10);
    	$process[$i] = popen('php '.dirname(__FILE__).'/run.php', 'r');
    	sleep(1);
    }
    
    echo 'OK>>'.chr(10);
    sleep(3);
    for($i=0;$i<5;$i++)
    {
    	$read = fread($process[$i], 64);
    	echo $read;
    	pclose($process[$i]);
    	echo $i.' closed'.chr(10);
    	sleep(1);
    }

    run.php

    <?php
    while(1)
    {
    	$echo =getmypid() .'->'. date("YmHis").chr(10);
    	echo $echo ;
    	system('echo '.$echo.'> logp');
    	sleep(5);
    }


    执行php pro.php

     

     

     

  • 相关阅读:
    撕衣服
    寒假作业1编程总结。
    C Traps and Pitfallss
    《彻底搞定C指针》文档整理
    C语言中内存分配 (转)
    ASCII
    ipad
    tour
    Diet
    第7章 输入与输出
  • 原文地址:https://www.cnblogs.com/lein317/p/5067619.html
Copyright © 2011-2022 走看看