嗨,我很难理解如何使用仅 BSD 的 python 模块类 select.kqueue 和 select.kevent 来设置文件写入事件的监视。
每当另一个进程写入文本文件时,我希望 python 程序做出响应。我的测试代码如下:
import os
myfd = os.open("/Users/hari/c2cbio/t.txt",os.O_RDONLY)
my_event=select.kevent(myfd,filter=select.KQ_FILTER_VNODE,fflags=select.KQ_NOTE_WRITE|select.KQ_NOTE_EXTEND)
# I now create a kqueue object and a control object
kq = select.kqueue()
# I dont know how to set the max_events if it is non zero the REPL does not return
kq.control([my_event],0,None)
我不知道如何继续检查这些事件是否确实发生了。有人可以指出一个使用 kqueue 检测文件修改或任何其他事件的示例(如文件删除、文件重命名等)