如何捕获python print()形式使用os.fork()的现有代码?

时间:2018-01-23 21:57:49

标签: python fork

我正在测试/调试使用os.fork()进行并行处理的现有python程序(因此我不允许更改现有代码)。当我尝试捕获打印输出时(在Linux bash shell终端中):

python program.py > program.out 2>&1

文件program.out仅包含父进程的打印输出,而不包含任何其他子进程的打印输出。

我们该如何捕获所有进程的所有打印输出?

额外信息:所有程序的进程都调用具有print()的相同python函数,该函数还打印出os.getpid()以进行进程跟踪。在没有重定向的终端上,我看到所有输出都带有所有进程pid,而在重定向时,捕获文件只包含带有父进程pid的输出。

0 个答案:

没有答案