亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

php 異步執行腳本程序代碼

2024-05-04 21:48:03
字體:
來源:轉載
供稿:網友

這里說的異步執行是讓php腳本在后臺掛起一個執行具體操作的腳本,主腳本退出后,掛起的腳本還能繼續執行,比如執行某些耗時操作或可以并行執行的操作,可以采用php異步執行的方式,主腳本和子腳本的通訊可以采用外部文件或memcached的方式,原理就是通過exec或system來執行一個外部命令,注意,本文所述的是針對Linux環境.

在Linux下要讓一個腳本掛在后臺執行可以在命令的結尾加上一個 "&" 符號,有時候這還不夠,需要借助nohup命令,關于nohup,玩過Linux的人應該都知道,如果想讓一個程序在后臺運行,只要在執行命令的末尾加上一個&符號就可以了,但是這種方式不是很保險,有些程序當你登出終端后它就會停止,那么如何讓一個程序真正永遠在后臺執行呢,答案就是使用 nohub 命令,格式為:

nohup 執行程序的命令 &

如果程序有輸出,它會試著把輸出寫入執行上述命令的當前文件夾下的 nohup.out 文件中,當寫入失敗,就會寫當前用戶的$HOME目錄下的nohup.out 中.

CLI環境和Web環境執行的操作還不太一樣,先來說CLI環境,這里需要用上nohup和&,同時還要把指定輸出,如果不想要輸出結果,可以把輸出定向到/dev/null中,現在來做一個測試,假設在一個目錄中有main.php、sub1.php和sub2.php,其中sub1和sub2內容一樣都讓sleep函數暫停一段時間,代碼如下:

  1. //main.php 
  2. <?php 
  3.     $cmd = 'nohup php ./sub.php >./tmp.log  &'
  4.     exec($cmd); 
  5.     $cmd = 'nohup php ./sub1.php >/dev/null  &'
  6.     exec($cmd); 
  7. ?> 
  8.  
  9. //sub1.php sub2.php 
  10. <?php 
  11.     sleep(100000); 
  12. ?> 

上述文件中main.php是作為主腳本,在命令行中執行php main.php,可以看到main.php腳本很快就執行完并退出,在使用ps aux | grep sub命令搜索進程,應該可以在后臺看到上述的兩個子腳本,說明成功掛起了子腳本.

在Web環境下,執行php腳本都是Web服務器開啟的cgi進程來處理,只要腳本不退出,就會一直占有該cgi進程,當啟動的所有cgi進程都被占用完后就不能在處理新的請求,所以對那些可能會很費時的腳本,可以采用異步的方式,啟動子腳本的方式和CLI差不多,必須要使用&和指定輸出(只好是定向到/dev/null),但是不能使用nohup,例如如下代碼:

  1. <?php 
  2.     $cmd = 'php PATH_TO_SUB1/sub1.php >/dev/null  &'
  3.     exec($cmd); 
  4.     $cmd = 'php PATH_TO_SUB1/sub2.php >/dev/null  &'
  5.     exec($cmd); 
  6. ?> 

當在瀏覽器中訪問該腳本文件,可以看到瀏覽器里面響應完成,同時使用ps命令查看后臺可以看到sub1和sub2腳本.

注意上述例子中如果php命令不在PATH中,需要指定命令完整的路徑,推薦使用完整路徑,特別是在Web下.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩在线观看高清| 色吧影院999| 亚洲综合在线做性| 欧美中文字幕在线| 中文字幕亚洲二区| 国产精品久久久久久超碰| 日韩在线观看免费全集电视剧网站| 久久久999精品视频| 丝袜美腿精品国产二区| 国产婷婷97碰碰久久人人蜜臀| 欧美激情亚洲综合一区| 欲色天天网综合久久| 国产精品7m视频| 久久综合伊人77777| 亚洲激情国产精品| 91国产精品电影| 亚洲大胆人体av| 久久五月情影视| 亚洲色图综合久久| 日韩在线观看高清| 成人免费在线网址| 日韩免费电影在线观看| 成人免费福利视频| 在线观看国产成人av片| 国产精品美乳一区二区免费| 亚洲综合中文字幕68页| 亚洲欧美精品中文字幕在线| 国产又爽又黄的激情精品视频| 国产精品h片在线播放| 国产精品扒开腿做爽爽爽的视频| 亚洲精品国产综合久久| 日韩中文在线观看| 久久欧美在线电影| 国产精品久久久久久一区二区| 日本a级片电影一区二区| 久久久久久久久91| 亚洲精品欧美日韩专区| 欧美色道久久88综合亚洲精品| 色哟哟亚洲精品一区二区| 亚洲天堂av在线免费观看| 久久综合国产精品台湾中文娱乐网| 亚洲国产精品va在线看黑人| 国产成人激情小视频| 精品亚洲aⅴ在线观看| 国产成人涩涩涩视频在线观看| 亚洲美女自拍视频| 国模精品系列视频| 久久久国产精品视频| 欧美精品制服第一页| 国产精品视频精品视频| 欧美福利小视频| 红桃视频成人在线观看| 国产精品夜间视频香蕉| 亚洲乱码国产乱码精品精| 中文在线资源观看视频网站免费不卡| 亚洲激情电影中文字幕| 国产亚洲精品激情久久| 成人激情综合网| 亚洲精品国产精品乱码不99按摩| 国产精品久久久久福利| 国产精品久久久久久久久久小说| 久久成人综合视频| 91国产中文字幕| 国产精品美女免费| 欧美日韩亚洲一区二区| 亚洲中国色老太| 亚洲欧美日韩视频一区| 亚洲三级av在线| 色av吧综合网| 欧美大全免费观看电视剧大泉洋| 亲爱的老师9免费观看全集电视剧| 亚洲肉体裸体xxxx137| 在线成人一区二区| 欧美在线视频免费观看| 亚洲精品91美女久久久久久久| 国产日韩欧美影视| 日韩在线视频免费观看高清中文| 亚洲视频axxx| 中文字幕久热精品视频在线| 欧美激情性做爰免费视频| 亚洲香蕉成人av网站在线观看| 国产在线播放91| 亚洲国产欧美一区二区三区久久| 欧美日韩国产中字| 国产精品高潮呻吟久久av野狼| 亚洲欧美日本伦理| 秋霞av国产精品一区| 日韩在线观看视频免费| 亚洲视频axxx| 在线播放日韩精品| 国产激情久久久久| 久久精品这里热有精品| 亚洲天堂av电影| 成人免费xxxxx在线观看| 青青草成人在线| 色婷婷综合久久久久中文字幕1| 亚洲qvod图片区电影| 91精品国产综合久久香蕉922| xxxx欧美18另类的高清| 色樱桃影院亚洲精品影院| 午夜精品福利在线观看| 中文字幕视频在线免费欧美日韩综合在线看| 3344国产精品免费看| 国产精品久久久久久久久久| 欧美性高跟鞋xxxxhd| 日韩中文字幕在线视频播放| 亚洲午夜精品久久久久久久久久久久| 欧美国产日韩免费| 国产91精品青草社区| 国产精品久久av| 亚洲精品免费av| 亚洲片国产一区一级在线观看| 久久精品99无色码中文字幕| 538国产精品视频一区二区| 日韩中文字幕视频在线观看| 国产精品一二三在线| 日韩av在线播放资源| 久热精品在线视频| 亚洲综合精品一区二区| 欧美日韩激情网| 久久99久久久久久久噜噜| 亚洲国产精品专区久久| 国产精品久久久久久中文字| 日韩精品中文字幕在线| 神马久久桃色视频| 日韩欧美一区二区在线| 欧美午夜女人视频在线| 亚洲区在线播放| 欧美午夜视频一区二区| 亚洲成人黄色在线| 国产精品av在线播放| 久久久www成人免费精品张筱雨| 久久精品视频导航| 久久中文久久字幕| 这里只有精品丝袜| 91精品国产自产在线老师啪| 91产国在线观看动作片喷水| 久热99视频在线观看| 久久久国产成人精品| 久久国产精品免费视频| 亚洲九九九在线观看| 久久久久国产精品免费网站| 国产精品久久久久av免费| 色偷偷噜噜噜亚洲男人| 性色av一区二区三区在线观看| 成人在线国产精品| 亚洲无av在线中文字幕| 成人欧美一区二区三区在线湿哒哒| 欧美日韩一区二区三区在线免费观看| 亚洲第一色中文字幕| 亚洲国产精品一区二区三区| 91精品中国老女人| 日韩欧美一区二区三区久久| 欧美综合激情网| 国产欧美一区二区三区久久| 欧美性极品xxxx做受| 中文字幕在线观看日韩| 亚洲一级黄色片| 日韩有码片在线观看| 91日本在线视频| 亚洲级视频在线观看免费1级| 欧美有码在线观看| 精品久久久久久久久久久久久久| 免费91麻豆精品国产自产在线观看|