Mac OS X如何以编程方式检测更改的文件是否仍被更改后的相同进程“使用”?

时间:2011-11-17 09:26:01

标签: macos fsevents kqueue

我正在调查我们开发的实用程序的问题。我们跟踪文件或目录,当进行更改时,我们将新版本上传到中央存储库。我们的实用程序类似于dropbox,因为您可以跟踪更改,但它的版本跟踪器比同步实用程序更多。

我们可以检测文件何时被更改。但我们希望能够检测出改变的过程是否仍在“使用”它......因为缺乏一个更好的术语。

当用户在某个程序中打开文件并定期点击“保存”时,会出现问题。或者,最糟糕的是,自动保存功能每隔几分钟就可以保存正在进行的工作。我们希望能够检测到这一点,并且只在需要时保存,例如当用户最终保存并关闭文件时。如果一个带有自动保存的程序整夜打开,我们最终会得到相同文件的数百个无用版本。

  1. 是否可以检测保存文件的进程?
  2. 是否可以检测该进程是否仍在“使用”该文件。
  3. 这在Windows中很简单,但在Mac中证明非常复杂。此外,我们是Windows和ios开发人员,并且在OS X上并不那么专业,特别是当它变得流畅时。

0 个答案:

没有答案