我用 python (3.6) 和 selenium、firefox web 驱动程序创建了一个 web scraper。我已经设置了一个 cronjob 每隔几分钟运行这个抓取工具,它似乎一切正常,除了随着时间的推移(比如几天),我的 Ubuntu VPS(8GB RAM,Ubuntu 18.04.4)上的内存被填满起来然后崩溃了。
当我检查 HTOP 时,我可以看到很多(例如数百个)firefox 进程,例如“/usr/lib/firefox -marionette”和“/usr/lib/firefox -contentproc”,全部占用大约 3 或 4mb 内存每个。
我已经放了一个
browser.stop_client()
browser.close()
browser.quit()
在使用网络驱动程序的每个函数中,但我怀疑脚本有时会在遇到错误时使网络驱动程序保持打开状态,并且没有正确关闭它们,并且这些 Firefox 进程只会累积,直到我的系统崩溃。
我正在努力寻找其根本原因,但与此同时,是否有一种快速方法可以终止/清理所有这些进程?
例如,一个杀死所有匹配进程(超过 10 分钟)的 cronjob?
谢谢。