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