我是linux的新手,虽然我熟悉脚本中锁文件的概念,但我在另一个脚本中遇到了这个代码,并认为它非常酷,虽然我不知道它是如何工作的。是否有人能够完全了解清理文件和finalize函数正在做什么?
与lockfile的if else语句相反
cleanup_file="$(mktemp -q)"
finalize()
{
set +e
if test -f "$cleanup_file"
then
while read f
do
unlink "$f"
done < "$cleanup_file"
unlink "$cleanup_file"
fi
}
trap 'finalize' HUP INT QUIT TERM EXIT
答案 0 :(得分:2)
OSStatus VTCreateCGImageFromCVPixelBuffer(CVPixelBufferRef pixelBuffer, CFDictionaryRef options, CGImageRef _Nullable *imageOut);
Parameters
函数不处理任何锁定。它只删除名称在清理文件中的所有文件。它还会删除清理文件。
似乎较大的脚本会将临时文件的名称附加到清理文件中,options
信号处理程序会在脚本终止时负责清理它们。