gpt4 book ai didi

macos - OSX 上的 bash : How to determine if network file (AFP) is in use?

转载 作者:行者123 更新时间:2023-11-29 09:26:29 25 4
gpt4 key购买 nike

我有一个在 OSX 上运行的 bash 脚本。
它需要操作网络共享上的一些文件(Synology NAS 上的 AFP 共享)。

不幸的是,脚本运行时有时仍在写入这些文件。

如何确定文件是否正在使用?

通常的方法是使用“lsof”,但如果其他用户来自 LAN 上的另一个客户端,那似乎对网络文件不起作用。

我可以尝试重命名文件。我想如果文件正在使用,那将失败,但这远非优雅。

有人有更好的解决方案吗?

最佳答案

这不是一个通常可以解决的问题。典型的解决方案是将文件写入临时位置,然后将其移动到最终处理目录(因为在文件系统内移动通常是原子的)。如果您无法控制文件的写入方式或写入位置,那么您只能使用试探法,尤其是查看文件并查看它是否在“一段时间内”没有增长,但与分离相比,这些都不是特别好入队写入。

关于macos - OSX 上的 bash : How to determine if network file (AFP) is in use?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16499526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com