Нет вывода на печать из дочерней многопроцессорности. Процесс, если программа не сработает

У меня возникают проблемы с модулем многопроцессорности Python. Я использую класс Process, чтобы создать новый процесс, чтобы использовать второе ядро. Этот второй процесс загружает кучу данных в ОЗУ, а затем ждет терпеливо, а не потребляет.

Я хотел посмотреть, что этот процесс напечатан с помощью команды print, однако я не вижу ничего, что он печатает. Я вижу только то, что печатает родительский процесс. Теперь это имеет смысл для меня, поскольку они живут в двух разных процессах. Второй процесс не порождает собственное окно вывода оболочки/стандартного вывода и не выводит его вывод родителям. Однако, когда этот процесс падает, он печатает все, что мой script сказал ему для печати, плюс трассировка стека и ошибка.

Мне интересно, есть ли простой способ отправить выходной вывод дочернего процесса в первый процесс или вызвать его выпуск shell/standard, чтобы я мог его отлаживать. Я знаю, что я мог бы создать multiprocessing.Queue, предназначенный для передачи отпечатков родительскому объекту, чтобы он мог печатать их на стандартный вывод, но мне не хочется делать это, если существует более простое решение.

Ответ 1

Вы пробовали стирать stdout?

import sys
print "foo"
sys.stdout.flush()