[英]Linux : How to check a file copy has finished in my watch folder?
我有一个文件夹,不同的用户可以在其中放置他们的文档,如 pdf、tif 等。如果有任何新文件,我每分钟都会检查这个文件夹,如果有,那么我选择该文件进行处理。
但是,我不想选择这个文件,以防它仍在被复制。 在这种情况下,我会在未来的周期中选择它。
但我面临的问题是。 那如何检查我的文件夹中的文件复制是否已完成?
我已经尝试过以下事情。 1) 尝试使用 C 程序以写入模式打开文件。 但是即使它仍在被复制,我也可以以写入模式打开它。
2) 使用 lsof 命令来检查某个进程是否与此相关联。 但是这个命令在非 root 用户的情况下不会给出结果。
注意:我可能是 Linux 上的非 root 用户。
在大多数情况下,如果文件有一段时间没有被修改,假设副本已经完成就足够了。 仅处理过去 15 分钟未修改的文件:
find . -mmin +15
正确的解决方案将要求所有程序都遵守某种锁定:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.