2015-07-20 82 views
0

我正在從PHP調用一個Python腳本作爲後臺進程,但PHP正在等待,直到腳本執行結束。PHP等待後臺進程執行

這就是我所做的:

<?php 
$script = "backproc.py"; 
$python ="C:\Python27\python.exe"; 
$command = "$python $scriptname $para1 $para2"; 
shell_exec($command . '2>&1 >out.log &'); 
?> 

爲什麼等待後臺進程來完成?

回答

1

如果程序開始使用此功能,您必須將輸出重定向

,以便它繼續在後臺運行,該程序的輸出必須重定向到文件或其他輸出流。否則會導致PHP掛起,直到程序執行結束。

http://php.net/manual/en/function.exec.php

所以在UNIX上它會如

shell_exec($command . ' 2>&1 > out.log'); 
+0

Python腳本不返回任何東西父進程。所以我只是想調用它,並沒有輸出需要從腳本,然後爲什麼它在等待。即使我重定向輸出到一些文件執行掛起,直到執行程序結束 – Rajendra

+0

看看php.net **未這樣做會導致PHP掛起,直到程序執行結束。** – donald123

+0

輸出重定向到另一個文件,但仍然是相同的問題 – Rajendra