Нужен скрипт на python для использования уже открытого процесса на сервере Xvfb

У меня есть PHP-скрипт, который запускает много скриптов Python. Скрипты Python используют браузер Firefox без головы, используя pyvirtualdisplay и xvfb. Моя проблема в том, что каждый скрипт Python открывает новый процесс Xvfb на моем сервере Linux. Таким образом, я получаю несколько процессов в стеке и в конечном итоге заканчивается /tmp/ space.
Моя проблема похожа на эту:
Xvfb несколько дисплеев для параллельной обработки?
Я хотел бы, чтобы один процесс сервера Xvfb был открыт постоянно, и чтобы все сценарии Python использовали его.
Вот код Python, который я использую:
#set pyvirtual display
display = Display(visible=0, size=(800, 600))
display.start()

1 ответ

Решение

Я решил эту проблему, удалив эти строки из моего кода Python:
#set pyvirtual display
display = Display(visible=0, size=(800, 600))
display.start()

и добавив следующие строки:
import os
os.environ['DISPLAY'] = ':1'

Таким образом, скрипт Python использует уже открытую настройку процесса Xvfb на дисплее 1 вместо запуска нового процесса сервера Xvfb.

Другие вопросы по тегам