1. 云栖社区>
  2. PHP教程>
  3. 正文

php popen实现多任务

作者:用户 来源:互联网 时间:2017-12-01 11:35:55

任务

php popen实现多任务 - 摘要: 本文讲的是php popen实现多任务, Php代码   <?php $update_num = 1000; $limit = 100; $p_num = 0;  $line_cmd = 'ps -ef | grep doit.php | grep -v grep | wc

Php代码   
<?php 
$update_num = 1000; 
$limit = 100; 
$p_num = 0; 
 
$line_cmd = 'ps -ef | grep doit.php | grep -v grep | wc -l'; 
$exec_cmd = '/usr/local/php/bin/php doit.php %s & > /dev/null 2>&1'; 
 
$t1 = microtime(1); 
for($i = 0 ; $i < $update_num ; $i++){ 
        if($p_num <=0){ 
                $fp1 = popen($line_cmd,'r'); 
                //current shell process numbers 
                $line = fread($fp1,512); 
                pclose($fp1); 
                //processes can be pushed 
                $p_num = $limit - $line; 
                if($p_num <= 0 ){ 
                        usleep(100); 
                } 
        } 
 
        $p_num = $p_num -1; 
        $cmd = sprintf($exec_cmd,$i); 
        $fp = popen($cmd,'r'); 
 
        pclose($fp); 

 
$t2 = microtime(1); 
echo round($t2 - $t1,2); 
?> 


Php代码   
<?php 
sleep(2); 
$fp = fopen('doit.txt','a'); 
fwrite($fp,$argv[1]."/n"); 
fclose($fp); 
exit(0); 
?>  (fblww-0227)


摘自 网络营销

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索任务 多 ,以便于您获取更多的相关知识。