Использую Selenium для скраппинга на сервере без gui. Эмулирую X-сервер c помощью pyvirtualdisplay (обёртки для Xvfb на python).
Перед тем, как открыть браузер, я создаю виртуальный дисплей; после того, как скраппинг завершён и браузер закрыт, я выключаю виртуальный дисплей. Парсер запускается каждые несколько минут. Проблема в том, что дисплей почему-то не завершает свою работу и через час у меня накапливается куча процессов Xvfb, которые сжирают всю процессорную мощность.
Помогите разобраться, что я делаю неправильно.
from pyvirtualdisplay import Display
...
# создаю виртуальный дисплей
display = Display(visible=0, size=(1920, 1080))
display.start()
...
# инициализирую браузер
chrome_options.add_argument("--headless")
chrome_options.add_argument("--window-size=1920x1080")
br = webdriver.Chrome(chrome_options=chrome_options,
executable_path=webdriver_path)
# делаю свои дела
br.get(url)
...
# закрываю браузер
br.close()
# закрываю дисплей
display.stop()