如何监控Mac OSX上的进程/应用程序或文件锁?

时间:2013-05-12 16:19:39

标签: macos process filesystems monitoring

我正在将文件加密应用程序从Windows移植到Mac OSX。它的一个功能是,它允许您在其源应用程序(例如TextEdit)中打开加密文件,进行一些更改,然后重新加密文件。

要在OSX上实现这一点,我想要监视当我要求系统打开我的解密文档时启动的进程的启动/停止,或者监视文件本身是否有任何获取和释放的锁。

有没有办法通过现有的OSX或Unix API以编程方式实现这一目标?我已经尝试过.NET提供的API(FileSystemWatcher,Process)。

1 个答案:

答案 0 :(得分:0)

我要做的是在我要求操作系统在默认应用程序中打开我的文件后,从NSNotificationCenterNSApplication收听通知。具体事件是:

  • NSWorkspace.Notifications.ObserveDidLaunchApplication(EventHandler)
  • NSWorkspace.Notifications.ObserveDidTerminateApplication(EventHandler)

如果您遇到同样的问题,请see my implementation here