Перенаправить вывод из многопроцессорной системы? - PullRequest
0 голосов
/ 08 июля 2019

У меня проблемы с регистрацией всего, что происходит в вызываемом мультипроцессорном модуле.

Сценарий: mainScript.py

import multiprocessing
python_file = A different python file
def main():
    module = __import__(python_file)
    p = multiprocessing.Process(target=getattr(module, 'main'), args=())
    p.start()
    step_timeout = 20
    p.join(step_timeout)

Сценарий: другой файл Python

import os
def main():
    print('I am a different python script')
    os.system('dir').read()
    os.system("call C:\\test.bat")
    return

У меня проблемы с записью выходных данных вызываемых командных файлов, а также результата os.system(command).read().

Я знаю, что вы можете регистрировать все, что выполняется через скрипт Python, выполняя что-то вроде этого...

python mainScript.py >> logFile.txt

Возможно ли, что я могу сделать что-то подобное с многопроцессорным выводом?

p = multiprocessing.Process(target=getattr(module, 'main'), args=()) >> logFile.txt

Если так, будет ли он также захватывать выходные данные пакетных сценариев?

Можно ли перенаправить все, что напечатано в моем вызываемом процессе, на основной процесс?

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