Запустите скрипт python в фоновом режиме при отправке подпроцесса stdout и stderr в PIPE - PullRequest
0 голосов
/ 08 ноября 2018

У меня есть скрипт на python (test.py), использующий подпроцесс для выполнения некоторых команд bash и записи команд bash stdout / stderr в файл журнала. Это работает нормально, если запустить Python на переднем плане, как это:

python test.py -i 123 -d 567

Однако, если запустить test.py в фоновом режиме, как этот, кажется, что подпроцесс больше не отправляет stdout / stderr в файл журнала.

python test.py -i 123 -d 567 > /dev/null 2>&1 & disown

Вот фрагмент кода о подпроцессе:

process = subprocess.Popen(["xxx","xxx"], stdout=PIPE, stderr=PIPE)
stdoutdata, stderrdata = process.communicate()
log_output(stdoutdata, stderrdata)

где log_output () - метод, использующий ведение журнала для записи сообщения в файл.

Посоветуйте, пожалуйста, как запустить python в фоновом режиме, а затем отправьте stdout / stderr в файл журнала.

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...