Mac OS X 如何以编程方式检测更改的文件是否仍在“使用”?通过改变它的相同过程?

发布于 2024-12-16 11:30:39 字数 482 浏览 2 评论 0原文

我正在调查我们开发的实用程序的问题。我们跟踪文件或目录,当发生更改时,我们将新版本上传到中央存储库。我们的实用程序与 dropbox 类似,您可以跟踪更改,但它更像是版本跟踪器而不是同步实用程序。

我们可以检测文件何时被更改。但我们希望能够检测进行更改的流程是否仍在“使用”它……因为缺乏更好的术语。

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

  1. 是否可以检测哪个进程保存了文件?
  2. 是否可以检测该进程是否仍在“使用”该文件。

这在 Windows 中很简单,但在 Mac 中却极其复杂。此外,我们是 Windows 和 ios 开发人员,对 OS X 并不是那么专家,尤其是当它变得 Linux 时。

I'm investigating a problem with a utility we've developed. We track a file or a directory and when a change has been made we upload the new version to a central repository. Our utility is similar to dropbox in that you can track changes, but its a lot more of a version tracker than a sync utility.

We can detect when a file has been changed. But we'd like to be able to detect whether the process that made the change is still 'using' it ... for lack of a better term.

The problem occurs when a user has a file open in some program and periodically hits Save. Or, worst yet, an auto-save feature saves the work-in-progress every couple minutes. We want to be able to detect this and only save as needed, such as when the user finally saves and closes a file. If a program with an auto-save is open all night long we end up with hundreds of useless versions of the same file.

  1. Is it possible to detect what process saved a file?
  2. Is it possible to detect if that process is still 'using' that file.

This was straightforward in Windows but is proving extremely complicated in Mac. Additionally, we're windows and ios developers and are not so expert on OS X, particularly when it gets linuxy.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文