我尝试使用 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