我需要处理一个视频文件,我需要在打开它之前完成该文件。所以我需要在处理之前检查文件是否打开,但是由另一个进程打开。知道怎么检查这个吗?我正在使用Linux。
答案 0 :(得分:6)
没有任何额外的宝石,可能会有一点浪费:
if %x[lsof -F n].split("\n").grep(/yourfilename/).empty?
# all clear
else
end
或
if system %Q[lsof #{filename}]
# still open..
else
# all clear
end
或者,忽略我的黑客建议并使用宝石:https://github.com/jordansissel/fosl