5

我需要处理一个视频文件,并且我需要在打开它之前完成该文件。所以我需要在处理文件之前检查文件是否被打开,但被另一个进程打开。知道如何检查吗?我正在使用 Linux。

4

1 回答 1

8

没有任何额外的宝石,一个稍微浪费的方法可能是:

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

或者,忽略我被黑的建议并为此使用 gem:https ://github.com/jordansissel/fosl

于 2012-11-30T17:43:14.513 回答