有没有办法确定文件是否仍在从一个目录复制到另一个目录

有没有办法确定文件是否仍在从一个目录复制到另一个目录

有一个文件File.txt,如果有任何进程试图将该文件复制/source//destination/

有没有办法确定File.txt可用的文件(或任何其他文件) 是否/destination/ 已完全复制,或者该过程仍在继续。

我尝试过lsof,但不起作用

**Error** : lsof: WARNING: can't stat() nfs file system

有什么建议

答案1

尝试使用同步- 进步下次可以选择。

这里有一个小片段,可以帮助您获取每秒的进度状态,直到达到 100%;只需更换你的来源目的地文件路径。

n="$(du -sh <path_to_your_source_file> | awk '{print $1}' | sed 's/[^0-9.]*//g')"
while true; do sourcesize="$n" destdir=<path_to_your_dest_file> copyprogress="$(export | du -sh $destdir | awk '{print $1}' | sed 's/[^0-9.]*//g' )" ; echo "scale=3 ; $copyprogress / $sourcesize * 100" | bc | xargs echo -n ; echo % completed ; sleep 1 ; done

在此输入图像描述

您还可以使用以下命令检查 cp 命令是否仍在运行皮多夫并使用附注检查正在执行的完整命令:

在此输入图像描述

相关内容