我正在尝试运行具有良好级别设置的python脚本。
nice -n 5 python3 blah.py
按预期运行并将文本输出发送到屏幕。但是,我想将输出管道传输到文本文件并在后台运行,以便我可以远程检查进度。
然而,
nice -n 5 python3 blah.py > log.txt &
创建日志文件log.txt但不向文本文件写入任何内容,因此我不确定将标准输出发送到何处或如何将其定向到我的文本文件。
答案 0 :(得分:2)
我最终使用命令
解决了这个问题nice -n 5 python3 -u blah.py >log.txt &
-u强制stdin,stdout和stderr的二进制I / O层无缓冲。这允许在进程运行时将python脚本的输出写入文本文件。
答案 1 :(得分:0)
我猜你正在通过ssh
运行命令,并希望在运行和检查日志之间注销。要执行此操作:
nohup nice -n 5 python3 blah.py > log.txt &
这可以防止在注销时终止程序。同样,nohup会将stderr
重定向到stdout
,这也可能是导致空log.txt
文件的原因。