我正在运行一个crawler程序,使用cron作业每小时执行一次程序。当所有东西都如预期的那样,脚本自动退出。但是,由于某些原因,有时会陷入无限循环。它变得更糟,因为我使用锁定文件来避免重复运行,当爬虫卡住它永远不会再次运行,直到它手动杀死它(ps aux - > kill)在给定时间后自动终止Linux进程/ php脚本
如何确保脚本在几小时后会发生什么?
我应该在php代码中添加一行吗?直接在Linux中这样做会不会更健壮?
到目前为止,我的最佳想法是用一个必要的命令创建一个小批处理文件,然后用cron而不是直接调用该批处理文件。
我说得对吗,命令应该是什么?
感谢
编辑:我发现迄今最好的是:http://www.linuxquestions.org/questions/linux-general-1/how-to-kill-the-process-after-specific-time-624453
bash的是太长了,我希望的是更聪明,更短的解决方案。
干杯
我会添加一些日志代码来找出无限循环问题。从长远来看,这可能会更好。 – will
显然这是最好的解决方案。尽管如此,鉴于我正在爬取很多网站,并且他们一直在变化,我需要找到解决方案来解决我的问题。 –
您可以添加计时器,以便您每个网站最多花费x秒。我会通过为每个网站产生一个新线程来做到这一点,然后在计时器过去后将其杀死。 – will