3
如果我有一个Ruby程序,并且我只希望它的一个实例能够一次运行,那么完成该任务的最佳方法是什么?我试过谷歌搜索,但它认为我正在寻找单身相关的信息,很难找到我真正想要的东西。单实例Ruby应用程序?
[1] =最好最短,最简单的,自我explanitory,不需要额外的宝石
如果我有一个Ruby程序,并且我只希望它的一个实例能够一次运行,那么完成该任务的最佳方法是什么?我试过谷歌搜索,但它认为我正在寻找单身相关的信息,很难找到我真正想要的东西。单实例Ruby应用程序?
[1] =最好最短,最简单的,自我explanitory,不需要额外的宝石
从http://rosettacode.org/wiki/Determine_if_only_one_instance_is_running#Ruby
def main
puts "first instance"
sleep 20
puts :done
end
if $0 == __FILE__
if File.new(__FILE__).flock(File::LOCK_EX | File::LOCK_NB)
main
else
raise "another instance of this program is running"
end
end
如果您使用的是Windows,二审甚至不启动跑步。 ruby解释器本身失败,错误'ruby:Permission denied - test.rb(Errno :: EACCES)'。 – DNNX
也许File.new(\ _ \ _ FILE \ _ \ _,“w”)? – Cheng