簡體   English   中英

除了程序崩潰之外,子多處理沒有打印輸出.Process

[英]No print output from child multiprocessing.Process unless the program crashes

我遇到了Python多處理模塊的問題。 我正在使用Process類來生成一個新進程,以便利用我的第二個核心。 第二個過程將一堆數據加載到RAM中,然后耐心等待而不是消耗。

我想看看使用print命令print進程,但是,我沒有看到它打印的任何內容。 我只看到父進程打印的內容。 現在這對我來說很有意義,因為他們生活在兩個不同的過程中。 第二個進程不會生成自己的shell /標准輸出窗口,也不會將其輸出發送給父進程。 然而,當這個過程崩潰時,它會打印我的腳本告訴它打印的所有內容,以及堆棧跟蹤和錯誤。

我想知道是否有一種簡單的方法將子進程的打印輸出發送到第一個進程,或者讓它生成一個shell /標准輸出,以便我可以調試它。 我知道我可以創建一個multiprocessing.Queue專門用於將打印件傳輸到父級,以便它可以將這些打印到標准輸出,但如果存在更簡單的解決方案,我不想這樣做。

你試過沖洗stdout嗎?

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM