我在linux上遇到一个脚本问题。 我在一个apache2服务器上工作,我必须每秒执行一个PHP脚本来更新数据库(是的,每一秒,我敢肯定)。 为此,我创建了这个脚本:
#!/bin/bash
while [ -f "MONFICHIER" ]
do
php fichier.php >> log.txt
sleep 1
done
exit 0
此脚本运行一段时间并停止,我收到此错误消息:“fork:无法分配内存”
实际上一切正常,过了一段时间后,会产生大量已失效的进程,这是因为这些进程内存已满。
关于php文件,它是CodeIgniter Framework的index.php文件,带有调用fonction的参数。最后,它通过检查数据来更新数据库。
我很抱歉,但我无法提供源代码(机密),但功能很快(不到一秒钟)
有没有身体出现这个问题? 谢谢!
答案 0 :(得分:1)
您的PHP脚本执行时间超过一秒,并且您需要大量的并行php调用,否则需要大量内存。无论哪种方式,没有人可以只使用shell脚本的源来帮助你。