要运行一些Python程序,我使用以下bash脚本:
python3 /MyProg.py 0>/dev/null 1>>output_log_file 2>error_log_file
但是我只能在编程终止后才能获得信息。程序运行时,这些文件中没有任何数据。
我可以覆盖此行为以立即获取日志数据吗?我的操作系统是Raspbian。
答案 0 :(得分:3)
我怀疑程序需要定期刷新stdout和stderr,通过
import sys
sys.stdout.flush()
sys.stderr.flush()
答案 1 :(得分:1)
似乎有,因为它使用完全缓冲而不是行缓冲。尝试在bash命令之前使用unbuffer
,你应该立即在屏幕上获得输出。