带有php的crontab开始了,但有时并没有结束

带有php的crontab开始了,但有时并没有结束,php,linux,cron,command-line-interface,Php,Linux,Cron,Command Line Interface,我运行了一个cron作业,它运行命令行php 到一个脚本,该脚本将调用web服务并将数据插入数据库,每天大约7小时。 奇怪的是,有时候它永远不会结束 我已经检查并确保,如果捕获到异常,它仍然应该继续到脚本的末尾。如果脚本中有任何错误,my run.html应该显示错误 我的crontab正在运行一个bash脚本,每7小时运行一次 php run.php >> "run.html" 现在的情况是,有时,我的run.html没有写任何东西。0字节 当它运行时,它有一个与此进程相关的pid。 但是在r

我运行了一个cron作业,它运行命令行php 到一个脚本,该脚本将调用web服务并将数据插入数据库,每天大约7小时。 奇怪的是,有时候它永远不会结束

我已经检查并确保,如果捕获到异常,它仍然应该继续到脚本的末尾。如果脚本中有任何错误,my run.html应该显示错误

我的crontab正在运行一个bash脚本,每7小时运行一次

php run.php >> "run.html" 现在的情况是,有时,我的run.html没有写任何东西。0字节

当它运行时,它有一个与此进程相关的pid。 但是在run.html中没有写入任何内容的7小时后,使用ps-eopid、lstart、etime、cmd | grep php命令再次检查流程,我意识到流程已经结束了

我不认为时间是超时问题,因为php_errors.log上没有显示错误,而且我已经在脚本中设置了时间

ini_set ("memory_limit",0);
其他原因可能是什么?

根据托管您的Web服务器的用户,完全可能是某个管理员重新启动了您的服务器,或者直接终止了您的长时间运行的进程。也许他把它误认为是僵尸

我在托管在共享服务器上的站点上做了很多工作,根据我的经验,这些问题经常发生。这也是一种痛苦,因为问题是非技术性的,而你真正能做的就是转移到另一个主机

所以你可能想调查一下。给你的主机提供商发一封电子邮件,看看他们是否能帮你了解情况


祝您好运。

在脚本完成之前出现错误状态时,请考虑写入run.html。可能是某个地方的错误导致了这种情况的发生。长寿命的进程通常很难调试。添加大量日志记录可能会有所帮助。因为您已经在捕获输出,所以可能需要偶尔回显一个状态。您可能遇到了不一定会输出php错误的错误数据。请告诉我更多信息。。问题是,即使我做了一个echo,run.html仍然是空的,因为它只有在编译完php之后才呈现,然后我的bash脚本写入了一个.html文件。对于我的情况,这并不完全正确,因为我使用的服务器只是我们的团队使用的,没有人在这里触发或终止进程。