Python 中断pyinotify通知程序循环
我正在使用Python 中断pyinotify通知程序循环,python,pyinotify,Python,Pyinotify,我正在使用pyinotify.notifier跟踪文本文件中的更改 当我得到一个具体的改变,我想打破通知循环。使用notifier.stop()似乎不起作用 以下是我想做的: class ModHandler(pyinotify.ProcessEvent): def process_IN_MODIFY(self, evt): #... Do Stuff if "Expected change": #break notifier
pyinotify.notifier
跟踪文本文件中的更改
当我得到一个具体的改变,我想打破通知循环。使用notifier.stop()
似乎不起作用
以下是我想做的:
class ModHandler(pyinotify.ProcessEvent):
def process_IN_MODIFY(self, evt):
#... Do Stuff
if "Expected change":
#break notifier loop
if __name__ == "__main__":
handler = ModHandler()
wm = pyinotify.WatchManager()
notifier = pyinotify.Notifier(wm, handler)
wdd = wm.add_watch('example.file', pyinotify.IN_MODIFY)
notifier.loop()
#when finished the loop, do more stuff
如何中断线程循环并返回主程序?指出:
notifier.loop()
在我们键入
c-c
(sigint)之前,对该方法的调用一直处于阻塞状态
这就是你需要做的发送sigint信号。
一些方法可以做到这一点:
成功了。我添加了
os.kill(os.getpid(),signal.SIGINT)
,它完成了循环。谢谢你的帮助。