0
我試圖鎖定一個可執行腳本,以確保它在第二次運行時不會運行。這裏是我的代碼,紅寶石文件鎖定錯誤Errno :: EBADF在solaris
if $0 == __FILE__
if File.new(__FILE__).flock(File::LOCK_EX | File::LOCK_NB)
main()
end
end
並獲得以下錯誤,
# ruby /tmp/test.rb
/tmp/test.rb:397:in `flock': Bad file number - /tmp/test.rb (Errno::EBADF)
from /tmp/test.rb:397:in `<main>'
#
現在用紅寶石版本1.9.3,
# ruby --version
ruby 1.9.3p551 (2014-11-13 revision 48407) [sparc-solaris2.11]
#
但其在Linux環境中工作的完善。