>백엔드 개발 >PHP 튜토리얼 >php popen实现多任务_PHP教程

php popen实现多任务_PHP教程

WBOY
WBOY원래의
2016-07-13 17:49:331209검색

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         if($p_num                 $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                         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代码   
sleep(2); 
$fp = fopen('doit.txt','a'); 
fwrite($fp,$argv[1]."\n"); 
fclose($fp); 
exit(0); 
?>  (fblww-0227)


摘自 网络营销

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/478347.htmlTechArticlePhp代码 ?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 21;...
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.