Nohup 不将输出记录到屏幕上

Nohup 不将输出记录到屏幕上

我尝试使用 nohup 来记录 python 脚本的输出。但是,当我不使用 nohup 时,我可以在屏幕上看到输出。

开始于 XX:XX:XX

于 XX:XX:XX 完成

但后来我使用 nohup 但 nohup.out 文件是空的。有人知道发生了什么事吗?

这是我使用的命令:

nohup python myPython.py &

我之前尝试过 nohup ,效果非常好。我还尝试运行一些简短的测试 python 脚本来记录输出,它也很好。

测试脚本简短:

string1 = ["John","1","2","0","f","a","s"]
line = [""]*6
line[3:6] = string1 [0:3]
print line

答案1

简单的答案是,标准输出不会自动刷新。

您可以将其更改为无缓冲模式,例如

sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0)

请参阅以下链接了解更多详情

https://stackoverflow.com/questions/230751/how-to-flush-output-of-python-print

相关内容