php exec无法fork()警告

时间:2014-06-12 07:45:54

标签: php exec limit fork

在debian系统上长时间运行的php进程中,有一个exec语句被调用数千次(~100000次)。该脚本对图像进行批处理,一次20个。部分原因是,它使用exec调用imagemagick库的convert命令行实用程序来扩展图像。

问题是,在运行几个小时并处理成千上万的图像后,程序开始经历一段时间的循环...因为exec不能分叉一个进程,整个过程很快就会到来最后,许多图像仍在处理队列中。

我已经四处查看了exec无法解决警告的可能原因,并且可以解决这些问题:

  1. 权限 - 我已将777 -R提供给与该流程相关的文件夹。
  2. 资源不可用 - 网络,内存,CPU使用率,磁盘可用空间似乎都很好。
  3. 这可能是由于php的子进程限制php -r "echo exec('ulimit -u');"被完全耗尽,但我不确定。

    那么,如何运行命令行实用程序,等待它完成,确保释放实用程序使用的每个资源?

0 个答案:

没有答案