我需要编写一个 Unix Shell 脚本 tran.sh,将 csv 输入文件从/exp/files
文件夹移动到目录。csv 输入文件由 SFTP 服务器/exp/ready
写入文件夹,我无法轻易更改该服务器的行为。/exp/files
在 tran.sh shell 脚本中,我需要确保在将该 csv 输入文件从 /exp/files 目录移动之前,不再有任何其他进程写入该文件。我该如何移动它?
答案1
lsof
可能就是您想要的(毕竟,这是命令list open files
)。如果您的文件具有已知的命名约定,请lsof <filename>
针对它运行以检查它是否确实被进程使用。如果不是,lsof
将返回非零返回代码。