使用Python监视程序处理多个处理程序

使用Python监视程序处理多个处理程序,python,watchdog,python-watchdog,Python,Watchdog,Python Watchdog,我是看门狗的第一次用户。我想知道看门狗如何处理多个处理器。会不会是这样的: if __name__ == "__main__": logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(message)s', datefmt='%Y-%m-%d %H:%M:%S') path = sys.argv[1] if le

我是看门狗的第一次用户。我想知道看门狗如何处理多个处理器。会不会是这样的:

if __name__ == "__main__":
    logging.basicConfig(level=logging.INFO,
                        format='%(asctime)s - %(message)s',
                        datefmt='%Y-%m-%d %H:%M:%S')
    path = sys.argv[1] if len(sys.argv) > 1 else '.'
    event_handler_1 = LoggingEventHandler()
    **event_handler_2 = LoggingEventHandler()**
    observer = Observer()
    observer.schedule(event_handler_1, path, recursive=True)
    **observer.schedule(event_handler_2, path, recursive=True)**
    observer.start()
    try:
        while True:
            time.sleep(1)
    except KeyboardInterrupt:
        observer.stop()
    observer.join()

非常感谢您在这方面的帮助

我只使用了watchdog命令行,因此我没有您问题的答案。我可以尝试的一件事是创建第二个观察者,看看这是否有效。那么,它是否会像启动多个观察者,然后在键盘中断时停止它们,并对每个观察者调用一个连接?当然。你可以试试。基于API,看起来每个线程都将在自己的线程中运行,python将支持多个线程而不会出现任何问题。好的,谢谢。我试试看。你能再帮我一件事吗?我将使用nohup运行我的看门狗脚本作为后台作业。假设我停止/删除作业,如何确保停止观察者,即我可以捕获什么异常?我不知道是否会捕获任何特定异常。我希望默认情况下,
nohup
会终止进程,除非您注册一个处理程序来捕获它(例如,via)。我只使用了watchdog命令行,所以我没有您问题的答案。我可以尝试的一件事是创建第二个观察者,看看这是否有效。那么,它是否会像启动多个观察者,然后在键盘中断时停止它们,并对每个观察者调用一个连接?当然。你可以试试。基于API,看起来每个线程都将在自己的线程中运行,python将支持多个线程而不会出现任何问题。好的,谢谢。我试试看。你能再帮我一件事吗?我将使用nohup运行我的看门狗脚本作为后台作业。假设我停止/删除作业,如何确保停止观察者,即我可以捕获什么异常?我不知道是否会捕获任何特定异常。我希望
nohup
在默认情况下终止进程,除非您注册一个处理程序来捕获它(例如,via)