程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP實現多進程並行操作的詳解(可做守護進程)

PHP實現多進程並行操作的詳解(可做守護進程)

編輯:PHP綜合
如下所示:
復制代碼 代碼如下:
/**
 * 入口函數
 * 將此文件保存為 ProcessOpera.php
 * 在terminal中運行 /usr/local/php/bin/php ProcessOpera.php &
 * 查看進程 ps aux|grep php
 */
ProcessOpera("runCode", array(), 8);

/**
 * run Code
 */
function runCode($opt = array()) {
   //需要在守護進程中運行的代碼
}

/**
 * $func為子進程執行具體事物的函數名稱
 * $opt為$func的參數 數組形式
 * $pNum 為fork的子進程數量
 */
function ProcessOpera($func, $opts = array(), $pNum = 1) {
while(true) {
$pid = pcntl_fork();
if($pid == -1) {
exit("pid fork error");

if($pid) {
static $execute = 0;
$execute++;
if($execute >= $pNum) {
pcntl_wait($status);
$execute--;

} else {
while(true) {
//somecode
$func($opts);
sleep(1);

exit(0);


}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved