Python 如何清理所有Selenium Firefox进程
我用python(3.6)和selenium、firefox web驱动程序创建了一个web scraper。我已经设置了一个cronjob,每隔几分钟运行一次这个scraper,它似乎都在工作,只是随着时间的推移(比如几天),我的ubuntuvps(8gbram,ubuntu18.04.4)上的内存填满了,然后崩溃了 当我查看HTOP时,我可以看到很多(如数百个)firefox进程,如“/usr/lib/firefox-marionete”和“/usr/lib/firefox-contentproc”,它们都占用了大约3或4mb的内存 我放了一个Python 如何清理所有Selenium Firefox进程,python,selenium,selenium-firefoxdriver,Python,Selenium,Selenium Firefoxdriver,我用python(3.6)和selenium、firefox web驱动程序创建了一个web scraper。我已经设置了一个cronjob,每隔几分钟运行一次这个scraper,它似乎都在工作,只是随着时间的推移(比如几天),我的ubuntuvps(8gbram,ubuntu18.04.4)上的内存填满了,然后崩溃了 当我查看HTOP时,我可以看到很多(如数百个)firefox进程,如“/usr/lib/firefox-marionete”和“/usr/lib/firefox-contentp
browser.stop\u client()
browser.close()
browser.quit()
在每个使用web驱动程序的函数中,我怀疑脚本有时会在遇到错误时打开web驱动程序,而没有正确关闭它们,并且这些firefox进程只是不断累积,直到我的系统崩溃
我正在努力寻找这一问题的根本原因,但与此同时,有没有一种快速的方法可以杀死/清理所有这些进程
e、 g.终止所有匹配进程(超过10分钟)的cronjob
谢谢
我怀疑脚本有时会在遇到错误时打开web驱动程序,而没有正确关闭它们
这很可能就是问题所在。我们通过使用块来解决这个问题
如果你仍然面临同样的问题,你可以根据这个或者Ubuntu的这个强制杀死驱动程序
import os
os.system("taskkill /im geckodriver.exe /f")
我怀疑脚本有时会在遇到错误时打开web驱动程序,而没有正确关闭它们
这很可能就是问题所在。我们通过使用块来解决这个问题
如果你仍然面临同样的问题,你可以根据这个或者Ubuntu的这个强制杀死驱动程序
import os
os.system("taskkill /im geckodriver.exe /f")
尝试使用
kill geckodriver
创建一个bash
文件,并在cronjob中调用bash命令。这将杀死所有驱动程序实例;killall geckodriver谢谢大家-这是一个很好的短期解决方案尝试使用kill geckodriver
创建一个bash
文件,并调用bash命令作为cronjob的一部分。这将杀死所有驱动程序实例;killall Geckodriver谢谢大家-这是一个很好的短期解决方案谢谢你们的努力。但是,OPs问题是针对ubuntu的,而AFAIKtaskkill
在ubuntu
上不起作用。请查看我对原始问题的评论。谢谢,我将尝试合并此try/except/finally结构,并查看这些链接。感谢您的努力。但是,OPs问题是针对ubuntu的,而AFAIKtaskkill
在ubuntu
上不起作用。请查看我对原始问题的评论。谢谢,我将尝试合并这个try/except/finally结构,并查看这些链接。