У меня есть сценарий Python 3, в котором включена регистрация (для целей отладки). Всякий раз, когда я запускаю / выполняю этот скрипт, он работает нормально, и создаются лог-файлы.

Я также создал скрипт setup.sh-bash для загрузки и установки моего приложения. Затем он автоматически запускает сценарий с помощью nohup, чтобы запустить его в фоновом режиме. За этой командой следуют> /dev /null 2> & 1 &, поэтому она ничего не выводит на консоль. Тем не менее, это «вызывает» модуль регистрации в Python, так как он больше не может выводить что-либо в файлы журнала. Он выводит в /dev /null, если я прав.

Я искал в Интернете, чтобы найти решение, но у меня не получилось с каждой попытки. Я надеюсь, что кто-то может придумать идею к этому. Может быть, я должен использовать что-то еще, чтобы мой скрипт работал вечно (конечно, до перезагрузки :)) с возможностью использовать модуль регистрации Python 3 и не иметь вывода в консоли.

Точная команда, которую я использую для запуска моего скрипта, выглядит следующим образом:

su -l -s /bin/bash scriptuser -c 'nohup python3 '/etc/scriptroot/main.py > /dev/null 2>&1 &'

заранее спасибо

1 ответ1

1

Мне очень жаль говорить, что я сам нашел решение. Кажется, я недостаточно глубоко копал. Сейчас я использую daemon-start-stop, поддерживаемый большинством систем UNIX, и он работает как надо.

Я следовал учебнику в Интернете, который можно найти здесь: http://blog.scphillips.com/2013/07/getting-a-python-script-to-run-in-the-background-as-a-service -он-загрузка /

Я надеюсь, что это помогает многим другим пользователям, имеющим такую же проблему / ищущим тот же ответ.

Спасибо за чтение.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .