如何判断文件或文件夹是否繁忙,例如Finder是否忙于复制到文件或文件夹?

Mic*_*sai 5 macos

我试过了:

  1. 检查FSCatalogInfo nodeFlags是否kFSNodeForkOpenBit已设置(使用kFSNodeForkOpenMask).

  2. 检查创建者代码是否在kFirstMagicBusyFiletype和之间kLastMagicBusyFiletype.

  3. 检查ExtendedFileInfo extendedFinderFlags是否kExtendedFlagObjectIsBusy已设置.

  4. GetFileInfo -ab从shell 运行.

所有这些都报告Finder正在复制的文件打开.

使用lsof确实检测到文件是打开的,但是(a)我不想lsof从我的应用程序调用,(b)我的理解是它依赖于私有API,所以查看它的源代码无济于事.

小智 6

你现在已经晚了2年左右,但我想为了后来发现这个的人,我注意到你可以查看文件的创建日期.在复制时,Finder将其设置为kMagicBusyCreationDate(1946-02-14 08:34:56 +0000).