@newPsevdonim
Python разработчик

В чем разница между запуском питоновского скрипта от имени пользователя и через nohup?

В чем может быть разница между запуском pyhon скрипта от имени пользователя через следующие команды:
./venv/bin/python3 bot.py
и баш следующего баш скрипта
kill $(cat ./bot_pid) || true
sudo nohup ./venv/bin/python3 ./bot.py  >log_story.txt 2>&1 &
echo $! > ./bot_pid


В первом случае selenium драйвер поднимается без проблем и отрабатывает правильно, а во втором падает со следующей ошибкой:
selenium.common.exceptions.WebDriverException: Message: unknown error: cannot connect to chrome at 127.0.0.1:45321


Для поднятия драйвера используется undetect-chromedriver. Версия драйвера указана актуальная и все поднимается в headles режиме.
self.driver = uc.Chrome(
                user_data_dir=self.options.user_data_dir,
                options=self.options,
                headless=True,
                version_main=111,
            )


При запуске через doker такая же ошибка
  • Вопрос задан
  • 240 просмотров
Пригласить эксперта
Ответы на вопрос 1
@BATAS
Разница между запуском питоновского скрипта от имени пользователя и через nohup заключается в том, что при запуске от имени пользователя скрипт выполняется в контексте этого пользователя, а при использовании nohup скрипт запускается в фоновом режиме и продолжает работать даже после закрытия терминала.

Относительно ошибки "unknown error: cannot connect to chrome at 127.0.0.1:45321", это может быть связано с тем, что запущенный процесс не имеет доступа к драйверу или порт, на котором работает драйвер, уже занят другим процессом. Решением может быть предоставление достаточных прав доступа или исключение порта из списка используемых портов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы