phppopen实现多任务_PHP教程
时间:2021-07-01 10:21:17
帮助过:21人阅读
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代码
sleep(2);
$fp = fopen('doit.txt','a');
fwrite($fp,$argv[1]."\n");
fclose($fp);
exit(0);
?> (fblww-0227)
摘自 网络营销
http://www.bkjia.com/PHPjc/478347.htmlwww.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;...