Python 如何获取导致文件系统事件的进程的PID?

Python 如何获取导致文件系统事件的进程的PID?,python,vim,pycharm,python-watchdog,kate,Python,Vim,Pycharm,Python Watchdog,Kate,我正在考虑与python看门狗一起工作。是否有方法确定哪个进程(PID)导致检测到的事件 背景:我正在寻找一种方法来检测某些编辑器引起的修改事件,如vim、pycharm或kate。简而言之,保存更改时,这些编辑器不会“修改”原始文件。取而代之的是,他们创建了一个新的,并以稍微不同的方式将其与旧的进行交换。看见我没有重新配置这些编辑器,而是在寻找检测[create/delete/move]事件序列的方法,并可靠地将原始文件重新解释为“伪修改”事件。 上面的演示是可用的 基于的任何解决方案(如p

我正在考虑与python看门狗一起工作。是否有方法确定哪个进程(PID)导致检测到的事件


背景:我正在寻找一种方法来检测某些编辑器引起的修改事件,如
vim
pycharm
kate
。简而言之,保存更改时,这些编辑器不会“修改”原始文件。取而代之的是,他们创建了一个新的,并以稍微不同的方式将其与旧的进行交换。看见我没有重新配置这些编辑器,而是在寻找检测[create/delete/move]事件序列的方法,并可靠地将原始文件重新解释为“伪修改”事件。

上面的演示是可用的

基于的任何解决方案(如
python-watchdog
)都无法提供进程ID(PID)。它本质上是inotify本身的规范限制。实际捕获PID的唯一地方是在操作系统的内部。这意味着必须能够访问实际的文件系统实现——或者从头实现文件系统

我实施了,a,正是为了这个目的。它通过任何操作传递到底层的“实际”文件系统,并且可以访问导致操作的PID以及其他附加信息

loggedfs.loggedfs\u notify
提供相关的基础结构