Найти - Пользователи
Полная версия: проблема с запуском питона в фоне
Начало » Python для новичков » проблема с запуском питона в фоне
1
Игнат
апач настроен на обработку питон-скриптов как cgi

отдельный скрипт с веб-интерфейсом делает следующее:

r = subprocess.Popen('/usr/local/bin/python3 start.pyw start', shell=True,
stdout=subprocess.PIPE, stdin=subprocess.PIPE)

при этом весь вывод скрипта скрыт и в текстовый лог ничего не пишется

если убрать “stdout=subprocess.PIPE, stdin=subprocess.PIPE” - вывод валится в страницу запустившего его скрипта и текстовый лог пишется

если запустить скрипт “start.pyw start” в консоли - текстовый лог тоже пишется

если запустить start.pyw?start из браузера - все тоже ОК

вопрос - что такого может делать subprocess.Popen, что запущенный им скрипт не пишет логи в файл?

код записи в файл:
from threading import Lock
lock = Lock()

with lock:
with open('log.txt', 'ab') as f:
f.write(bytearray(msg_plain, 'utf-8'))
Андрей Светлов
Может писать в stderr, между прочим.
Игнат
на данный момент проблему решил так

r = subprocess.Popen('/usr/local/bin/python3 start.pyw start', shell=True, stdout=open('log.txt', ‘w’), stdin=subprocess.PIPE)

но в лог валится весь вывод скрипта, включая меню и т.п.
обычный же лог все равно не работает
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB