Python 无法监视正在运行的日志文件
我有一个简单的python程序,sample.py:Python 无法监视正在运行的日志文件,python,bash,unix,Python,Bash,Unix,我有一个简单的python程序,sample.py: import time n = 1 while True: print 'Testing', n n += 1 time.sleep (1) 当我在bash中将程序作为后台作业运行时: $ python sample.py &> sample.log & 现在查看日志文件: $ watch tail -n5 sample.log 除非程序停止,否则我什么也看不到。此外,如果在任何文本编辑器中
import time
n = 1
while True:
print 'Testing', n
n += 1
time.sleep (1)
当我在bash中将程序作为后台作业运行时:
$ python sample.py &> sample.log &
现在查看日志文件:
$ watch tail -n5 sample.log
除非程序停止,否则我什么也看不到。此外,如果在任何文本编辑器中查看sample.log文件,则其为空
那么,如何实时查看日志文件中的更改呢?输出得到缓冲;每次打印后刷新缓冲区,您将看到
watch
命令生成预期的输出
import time
import sys
n = 1
while True:
print 'Testing', n
sys.stdout.flush()
n += 1
time.sleep (1)
输出得到缓冲;每次打印后刷新缓冲区,您将看到
watch
命令生成预期的输出
import time
import sys
n = 1
while True:
print 'Testing', n
sys.stdout.flush()
n += 1
time.sleep (1)
尝试只使用
tail-f-n5 sample.log
,-f
标志意味着在文件更改时跟踪文件。不幸的是,这不起作用。程序终止后,我似乎可以看到整个sample.log文件。但这不应该是一种行为。无论如何谢谢你!尝试只使用tail-f-n5 sample.log
,-f
标志意味着在文件更改时跟踪文件。不幸的是,这不起作用。程序终止后,我似乎可以看到整个sample.log文件。但这不应该是一种行为。无论如何谢谢你!