我使用通過ftp複製的服務器(Synology NAS),來自CCTV系統錄像機的視頻剪輯。當文件被複制,小腳本轉換它從DAV格式爲AVI,使用下面的語句:如何獲取該文件仍然對ftp打開的信息
find ./ -type f -name "*.dav" -exec ffmpeg -y -i {} -vcodec copy -movflags +faststart {}.avi \;
的問題是,有來自CCTV錄像機至Synology不斷髮送大量的剪輯。這是許多剪輯同時從錄像機傳輸到Synology。所以上面的聲明將嘗試轉換即使傳輸尚未結束的剪輯。如何從轉換中排除此類非完整剪輯?我無法使用「inotify」或「lsof」功能,因爲Synology Linux中沒有這種設備(由於許多原因,我無法在Synology上安裝軟件)。我認爲有必要知道,特定的文件仍然可以寫入,並將其排除在外以供連續使用。任何想法該怎麼辦?
您可能會檢查/ proc/PID/fd文件,您的進程已打開,請參閱http://unix.stackexchange.com/a/66273。另一種方法可能是使用'stat -c%y file'命令中的修改日期,並等待它停止更改。 –