Apache每天产生一个进程,是什么原因造成的?

我有一个PHP服务器运行,与cron作业等…每天一次(午夜至凌晨三点),Apache衍生出一个永无止境的过程。 服务器是一个虚拟的服务器,所以在几天之内就吃掉了整个内存。

有没有办法弄清楚什么是崩溃? 什么PHP脚本没有完成? 或者什么url通过Apache被触发?

我曾尝试查看访问日志,错误日志,但没有发现任何exception。

谢谢

去寻找可疑的httpd进程的/ proc / $ PID ,并查看environcmdline 。 执行fd子目录的ls -Fal来查看其活动文件句柄。

如果这不响铃 – 将结果作为编辑发布到您的问题。

你可以尝试启用mod_status: http : //httpd.apache.org/docs/2.2/mod/mod_status.html

这将允许您连接PID和有问题的脚本的请求path,并且在普通pipe理员中也是有用的。

如果这还不足以追查罪魁祸首,则可能需要向工作中添加一些日志logging,以帮助您追踪脚本循环和/或死亡的位置,或者如果发现了这一点,则附加一个debugging器。

另外,就像Jarry所build议的那样,你可以使用lsof来确定当前打开的进程是哪个文件/连接,这可能会给你一些线索。