在 Windows 等上,我曾经使用一种技巧来找出当前正在使用的文件(专门编写的)。
我用来打开文件进行写入,如果失败,很可能另一个进程正忙于访问它。
遗憾的是,这些技巧(使用带有独占锁的 C OPEN 进行写入)在我的 Mac 上不起作用。当我在终端中的卷曲仍在写入时,我的 -fileBusy() 检查失败。
使用 F_GETLK 对 fd 进行 fcnt 调用也不会显示任何锁定。
我是否有机会检测文件是否正在被另一个进程使用?
Ps> 无法监听 fsevents,因为我的应用程序在其他应用程序/进程创建后启动。
Apple 通过电子邮件确认,下面链接中描述的解决方案是有效的,不被视为私有 API。
更多信息:http://lists.apple.com/archives/cocoa-dev/2010/May/msg01455.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)