PHP等待后台进程执行

时间:2015-07-20 08:01:31

标签: php background

我从PHP调用Python脚本作为后台进程,但PHP正在等待脚本执行结束。

这就是我所做的:

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

为什么要等待后台流程完成?

1 个答案:

答案 0 :(得分:1)

您必须重定向输出

  

如果使用此功能启动程序,为了使其在后台继续运行,必须将程序的输出重定向到文件或其他输出流。如果不这样做将导致PHP挂起,直到程序执行结束。

请参阅http://php.net/manual/en/function.exec.php

所以在UNIX上就是例如

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