有没有办法找出文件夹是否在复制过程中?
更具体地说:
我在共享驱动器中有一个文件夹,该文件夹被其他人复制到那里,我需要使用它,但是在我访问它的那一刻(让我们承认我检查了之前的存在,没关系)复制过程可能仍在进行中。
我想从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
曼·索夫