我从PHP调用Python脚本作为后台进程,但PHP正在等待脚本执行结束。
这就是我所做的:
<?php
$script = "backproc.py";
$python ="C:\Python27\python.exe";
$command = "$python $scriptname $para1 $para2";
shell_exec($command . '2>&1 >out.log &');
?>
为什么要等待后台流程完成?
答案 0 :(得分:1)
您必须重定向输出
如果使用此功能启动程序,为了使其在后台继续运行,必须将程序的输出重定向到文件或其他输出流。如果不这样做将导致PHP挂起,直到程序执行结束。
请参阅http://php.net/manual/en/function.exec.php
所以在UNIX上就是例如
shell_exec($command . ' 2>&1 > out.log');