tial python 实现
FreeBSD中,可以使用kevent ("kqueue")机制来监测vnode的变化(可以同时看着多
个打开的vnode)。
具体的C实现可以参考:
http://www.freebsd.org/cgi/cvsweb.cgi/src/usr.bin/tail/forward.c?annotate=1.41
Python可以借助 py-kqueue (devel/py-kqueue) 调用 FreeBSD 的 kqueue 支持。
import time, os
filename = 'access_20090602.log'
file = open(filename,'r')
st_size = os.stat(filename)[6]
file.seek(st_size)
while 1:
where = file.tell()
line = file.readline()
if not line:
time.sleep(1)
file.seek(where)
else:
print line,

浙公网安备 33010602011771号