如何检查其他应用程序是否正在使用某个文件?

时间:2012-11-30 17:40:30

标签: ruby linux

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

1 个答案:

答案 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