我在 Linux 上遇到了一个脚本的大问题。 我在 apache2 服务器上工作,我必须每秒执行一个 php 脚本来更新数据库(是的,每秒,我确定)。 为此,我创建了这个脚本:
#!/bin/bash
while [ -f "MONFICHIER" ]
do
php fichier.php >> log.txt
sleep 1
done
exit 0
此脚本运行一段时间后停止,我收到此错误消息:“fork:无法分配内存”
实际上一切正常,但过了一段时间,会生成大量失效的进程,正是因为这些进程,内存已满。
关于 php 文件,它是 CodeIgniter 框架的一个 index.php 文件,其中包含要调用的函数的参数。最后通过检查数据更新数据库。
很抱歉,我无法提供源代码( secret ),但功能很快(不到一秒)
有人有这个问题吗? 谢谢!
最佳答案
要么您的 PHP 脚本执行时间超过一秒,并且有大量并行 php 调用,要么需要大量内存。无论哪种方式,没有人可以仅通过 shell 脚本的源代码来帮助您。
关于apache - Linux循环脚本: Cannot allocate memory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16668528/