在Linux服務器下使用nohup命令實現PHP的多進程

system("nohup php index.php > /dev/null &");

nohup命令會開啓一個新的進程執行後面的PHP任務

這裏有要一個要注意的地方,這一段 
> /dev/null & 是不可缺少的, > /dev/null 表示立即將php的執行結果返回爲空,如果不加,調用此命令的PHP會等待system調用的php頁面結果,達不到多進程的效果,&是nohup命令的結束的標示

舉例:
有一個create.php的文件,其內容如下:

foreach$list as $v )
{
    system("nohup php single.php?key={$v} > /dev/null &");
}

$list可以是一個從數據庫取出的需要循環操作的數據集合,使用nohup命令調用的single.php有自己的內容

在終端輸入命令:nohup php create.php &

那麼就會有多個single.php進程在執行,一般情況下create.php會是一個無限循環的代碼,這樣可以保證create.php可以一直在後臺跑,所以需要排重single.php的進程 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章