我有一些使用ZeroMQ在Python中本地运行的多代理系统。主服务器作为主线程(python Admin.py
)启动,并且这个启动工作程序代理作为multiprocessing.Process
子进程。
Admin.py和worker都使用简单的print
命令编写输出。现在我尝试获取我在控制台上看到的所有输出:$ python Admin.py > file.txt
。但是此语句仅获取Admin.py写入的输出。我尝试了各种重定向,例如管道sterr到stdout,而不是取stdout(1>&2 > file.txt
)但没有任何结果。在Satckoverflow(here和here)上已经以各种形式询问了这个问题,答案似乎涉及了一些额外的python编码。这个问题有Bash解决方案吗?我在控制台上看到了所有输出,为什么Bash不能将其重定向到文件?