问题描述:
运行命令: nohup python3 train.py >log.txt 2>&1 &
在train.py中有很多print的打印输出, 直接运行python3 train.py是能输出的, 但运行 nohup python3 train.py >log.txt 2>&1 & 并不会重定向到文件中。
错误原因:
python中的print语句就是调用了sys.stdout.write(),而stdout是有缓存的,只有遇到换行或者积累到一定的大小,才会显示出来。要想实时显示,可以添加-u参数。
nohup python3 -u train.py >log.txt 2>&1 &