有一个文件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 命令是否仍在运行皮多夫并使用附注检查正在执行的完整命令: