我试过了:
检查FSCatalogInfo nodeFlags是否kFSNodeForkOpenBit已设置(使用kFSNodeForkOpenMask).
检查创建者代码是否在kFirstMagicBusyFiletype和之间kLastMagicBusyFiletype.
检查ExtendedFileInfo extendedFinderFlags是否kExtendedFlagObjectIsBusy已设置.
GetFileInfo -ab从shell 运行.
所有这些都报告Finder正在复制的文件未打开.
使用lsof确实检测到文件是打开的,但是(a)我不想lsof从我的应用程序调用,(b)我的理解是它依赖于私有API,所以查看它的源代码无济于事.
小智 6
你现在已经晚了2年左右,但我想为了后来发现这个的人,我注意到你可以查看文件的创建日期.在复制时,Finder将其设置为kMagicBusyCreationDate(1946-02-14 08:34:56 +0000).