Python 我如何检测一个进程是否完成了一个停止监视的文件?

Python 我如何检测一个进程是否完成了一个停止监视的文件?,python,operating-system,filesystems,watch,Python,Operating System,Filesystems,Watch,我正在编写一个简单的跨平台文件版本跟踪程序,该程序旨在使用给定的应用程序打开单个临时文件,监视修改,并在处理完文件后停止监视并删除该文件 到目前为止,我必须深入研究Windows的注册表项和Linux的桌面条目,找到这些应用程序,通过subprocess.Popen运行它们,然后使用watchdog库查看修改情况。我当时意识到,不同的应用程序使用不同的策略来打开/编辑文件,因为有些应用程序会锁定文件(保持打开状态,如Microsoft Word),而另一些应用程序只需将文件复制到内存中并立即关闭

我正在编写一个简单的跨平台文件版本跟踪程序,该程序旨在使用给定的应用程序打开单个临时文件,监视修改,并在处理完文件后停止监视并删除该文件

到目前为止,我必须深入研究Windows的注册表项和Linux的桌面条目,找到这些应用程序,通过
subprocess.Popen运行它们,然后使用
watchdog
库查看修改情况。我当时意识到,不同的应用程序使用不同的策略来打开/编辑文件,因为有些应用程序会锁定文件(保持打开状态,如Microsoft Word),而另一些应用程序只需将文件复制到内存中并立即关闭文件(如VSCode或gedit)。我现在正在努力寻找一种通用的,或者至少是可行的,用Python编写代码的方法,在不同的操作系统中处理不同的应用程序

检测观看结束的最有效方法是什么

  • 我是否应该使其特定于应用程序,至少能够可靠地处理更受欢迎的应用程序

  • 你能帮我吗?(我检查了
    lsof
    不会在
    gedit
    中显示打开的文件,并且我认为
    Popen
    返回的
    pid
    并不总是有用,因为在选项卡(而不是窗口)中打开文件的应用程序在其他选项卡打开时保持打开状态。)