在 Linux 上查找文件夹是否正在复制过程中



有没有办法找出文件夹是否在复制过程中?

更具体地说:

我在共享驱动器中有一个文件夹,该文件夹被其他人复制到那里,我需要使用它,但是在我访问它的那一刻(让我们承认我检查了之前的存在,没关系)复制过程可能仍在进行中。

我想从bash/python脚本中检查这一点。

尝试lsof - 列出打开的文件

lsof +d /path/to/some/directory

这是一个带有巨大副本的示例:

mkdir /tmp/big
cd /tmp/big
# Create 1 Gb file
perl -e 'for(1..10000000) { print "x"x100 . "n" }' > huge
# Start cp process in background, it will take a few seconds
cp -r /tmp/big /tmp/huge &
$ lsof +d /tmp/big
COMMAND  PID  USER   FD   TYPE DEVICE   SIZE/OFF    NODE NAME
cp      4291 felix    3r   REG    8,1 1010000000 2752741 /tmp/big/huge

曼·索夫

最新更新