Nohup不会将日志写入输出文件
我正在使用以下命令在后台运行python脚本:
nohup ./cmd.py > cmd.log &
但是看起来nohup并没有向日志文件写任何东西。 cmd.log被创build,但始终为空。 在Python脚本中,我正在使用sys.stdout.write
而不是打印到标准输出。 我做错了什么?
它看起来像你需要定期刷新stdout(例如sys.stdout.flush()
)。 在我的testing中,Python直到程序退出时才会自动执行此操作。
您可以使用-u
标志运行Python以避免输出缓冲:
nohup python -u ./cmd.py > cmd.log &
使用“ -u ”和“ nohup ”为我工作。 喜欢这个-
nohup python -u code.py &
export PYTHONUNBUFFERED=1 nohup ./cmd.py > cmd.log &
要么
nohup python -u ./cmd.py > cmd.log &