国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

Php多進(jìn)程實(shí)現(xiàn)代碼

2020-02-23 00:01:49
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

php多進(jìn)程實(shí)現(xiàn)

PHP有一組進(jìn)程控制函數(shù)(編譯時(shí)需要–enable-pcntl與posix擴(kuò)展),使得php能在nginx系統(tǒng)中實(shí)現(xiàn)跟c一樣的創(chuàng)建子進(jìn)程、使用exec函數(shù)執(zhí)行程序、處理信號(hào)等功能。

CentOS 6 下yum安裝php的,默認(rèn)是不安裝pcntl的,因此需要單獨(dú)編譯安裝,首先下載對(duì)應(yīng)版本的php,解壓后

cd php-version/ext/pcntl phpize ./configure && make && make install cp /usr/lib/php/modules/pcntl.so /usr/lib64/php/modules/pcntl.so echo "extension=pcntl.so" >> /etc/php.ini /etc/init.d/httpd restart 

方便極了。

下面是示例代碼:

<?php header('content-type:text/html;charset=utf-8' );  // 必須加載擴(kuò)展 if (!function_exists("pcntl_fork")) {  die("pcntl extention is must !"); } //總進(jìn)程的數(shù)量 $totals = 3; // 執(zhí)行的腳本數(shù)量 $cmdArr = array(); // 執(zhí)行的腳本數(shù)量的數(shù)組 for ($i = 0; $i < $totals; $i++) {  $cmdArr[] = array("path" => __DIR__ . "/run.php", 'pid' =>$i ,'total' =>$totals); }  /* 展開(kāi):$cmdArr Array (  [0] => Array  (   [path] => /var/www/html/company/pcntl/run.php   [pid] => 0   [total] => 3  )  [1] => Array  (   [path] => /var/www/html/company/pcntl/run.php   [pid] => 1   [total] => 3  )  [2] => Array  (   [path] => /var/www/html/company/pcntl/run.php   [pid] => 2   [total] => 3  ) ) */  pcntl_signal(SIGCHLD, SIG_IGN); //如果父進(jìn)程不關(guān)心子進(jìn)程什么時(shí)候結(jié)束,子進(jìn)程結(jié)束后,內(nèi)核會(huì)回收。 foreach ($cmdArr as $cmd) {  $pid = pcntl_fork(); //創(chuàng)建子進(jìn)程  //父進(jìn)程和子進(jìn)程都會(huì)執(zhí)行下面代碼  if ($pid == -1) {  //錯(cuò)誤處理:創(chuàng)建子進(jìn)程失敗時(shí)返回-1.  die('could not fork');  } else if ($pid) {  //父進(jìn)程會(huì)得到子進(jìn)程號(hào),所以這里是父進(jìn)程執(zhí)行的邏輯  //如果不需要阻塞進(jìn)程,而又想得到子進(jìn)程的退出狀態(tài),則可以注釋掉pcntl_wait($status)語(yǔ)句,或?qū)懗桑? pcntl_wait($status,WNOHANG); //等待子進(jìn)程中斷,防止子進(jìn)程成為僵尸進(jìn)程。  } else {  //子進(jìn)程得到的$pid為0, 所以這里是子進(jìn)程執(zhí)行的邏輯。  $path = $cmd["path"];  $pid = $cmd['pid'] ;  $total = $cmd['total'] ;  echo exec("/usr/bin/php {$path} {$pid} {$total}")."/n";  exit(0) ;  } } ?> 

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)武林站長(zhǎng)站的支持。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 黄梅县| 进贤县| 五大连池市| 三台县| 桓仁| 乐都县| 钟祥市| 巫溪县| 昌吉市| 镇远县| 兴城市| 安仁县| 景谷| 南宫市| 徐州市| 招远市| 金沙县| 当雄县| 太仆寺旗| 温州市| 新源县| 思茅市| 平潭县| 汉阴县| 灌阳县| 四子王旗| 兴城市| 龙游县| 石阡县| 饶平县| 都安| 四子王旗| 上虞市| 屏东市| 丰宁| 资阳市| 昭平县| 离岛区| 平顶山市| 宝应县| 连山|