No hay salida de impresión desde multiprocesamiento secundario. Proceso a menos que el progtwig se bloquee

Estoy teniendo problemas con el módulo de multiprocesamiento de Python. Estoy usando la clase Process para generar un nuevo proceso para utilizar mi segundo núcleo. Este segundo proceso carga un montón de datos en la RAM y luego espera pacientemente en lugar de consumir.

Quería ver qué proceso se imprimió con el comando de print , sin embargo, no veo nada de lo que se imprime. Solo veo lo que el proceso padre imprime. Ahora esto tiene sentido para mí, ya que viven en dos procesos diferentes. El segundo proceso no genera su propia ventana de salida estándar / shell, ni su salida se envía al padre. Sin embargo, cuando este proceso falla, imprime todo lo que mi script le dijo que imprimiera, más el rastreo de la stack y el error.

Me pregunto si hay una forma sencilla de enviar la salida de impresión del proceso hijo al primer proceso, o hacer que genere una salida de shell / estándar para que pueda depurarla. Sé que podría crear un multiprocessing.Queue Una multiprocessing.Queue dedicada a transmitir impresiones al padre para que pueda imprimirlas en una salida estándar, pero no tengo ganas de hacer esto si existe una solución más sencilla.

¿Has intentado enjuagar stdout?

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