1

我需要通过exec函数从 php 运行命令行 Linux 程序。主要问题是我需要等待程序的结果,它会在一段时间后返回(从 30 秒到 2 分钟)。因为 PHP 没有多线程,所以所有站点都会在那个时候卡住。有没有办法exec像“新线程”一样运行(不在后台)?

4

1 回答 1

1

此外,如果您说您不想在后台运行它,这是一个常见的解决方案,然后定期检查该过程是否已完成。

执行的程序可以在完成后将其“返回值”写入临时文件。因此,如果文件存在,您就知道该过程已完成,您可以使用结果。

不仅要检查临时文件是否存在,还要检查所执行程序的进程 ID,这也是一个很好的做法。如果它没有提供它的 PID,你可以使用像 start-stop-daemon 这样能够提供此信息的工具来启动它。

于 2013-06-20T08:38:10.837 回答