php popen:php popen實現多任務

來源:互聯網
上載者:User

<?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);
?> 本文連結http://www.cxybl.com/html/wlbc/Php/20120531/27133.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.