我正在下载一些大文件(2GB)并且我正在运行一个Matlab脚本,它正在解压缩数据并进行一些模拟,这个脚本作为cronjob运行,有时cronjob在下载完成之前启动。如何在Matlab中检查文件是否仍处于打开状态(下载和写入)?
答案 0 :(得分:4)
我认为您应该使用.lock
文件...
您的cronjob应该在开始下载之前创建一个.lock
文件,并在完成后删除。
您的matlab脚本可以检查.lock
文件是否存在,以了解该文件是否被cronjob使用。
答案 1 :(得分:2)
虽然您可以在/proc/*/fds
中查看文件,但这样的解决方案不切实际,容易出错,并且要求下载程序和matlab脚本作为同一个用户运行。
而不是那样,只需下载到临时目录或文件,并在下载完成后 m o v 该文件。