我试过了:
FSCatalogInfo
nodeFlags
看看 kFSNodeForkOpenBit
已设置(使用 kFSNodeForkOpenMask
)。 kFirstMagicBusyFiletype
之间和 kLastMagicBusyFiletype
. ExtendedFileInfo
extendedFinderFlags
看看 kExtendedFlagObjectIsBusy
已设置。 GetFileInfo -ab
从壳。 所有这些都报告 Finder 正在复制到的文件未打开。
使用
lsof
确实检测到文件已打开,但是 (a) 我不想调用 lsof
来自我的应用程序,并且(b)我的理解是它依赖于私有(private) API,因此查看其源代码无济于事。
最佳答案
现在对你来说已经晚了大约 2 年,但我想为了以后有人发现这个,我会注意到你可以检查文件的创建日期。 Finder 在复制时将其设置为 kMagicBusyCreationDate (1946-02-14 08:34:56 +0000)。
关于macos - 如何判断文件或文件夹是否繁忙,例如Finder 正忙着复制到它吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/444561/