子多重处理无打印输出,除非程序崩溃,否则请进行处理

发布于 2021-01-29 15:23:10

我在使用Python多处理模块时遇到麻烦。我正在使用Process该类来生成新进程,以利用我的第二个核心。第二个过程将一堆数据加载到RAM中,然后耐心等待而不是消耗。

我想查看该print命令打印的内容,但是,看不到它打印的内容。我只看到父进程打印的内容。现在这对我来说很有意义,因为他们生活在两个不同的过程中。第二个进程不会产生自己的shell
/标准输出窗口,也不会将其输出发送给父进程。但是,当该进程崩溃时,它将打印我的脚本告诉它打印的所有内容,以及堆栈跟踪和错误。

我想知道是否有一种简单的方法可以将子进程的打印输出发送到第一个进程,或者让它产生一个shell
/标准输出,以便我可以调试它。我知道我可以创建一个multiprocessing.Queue专用于将打印内容传输到父级的方法,以便可以将它们打印到标准输出中,但是如果存在更简单的解决方案,我不愿意这样做。

关注者
0
被浏览
52
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您是否尝试过冲洗标准输出?

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


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看