使用python fcntl模块的咨询记录锁定?

时间:2014-04-02 11:31:44

标签: python

我正在使用python fcntl模块对文件应用记录锁定。当我使用来自ubuntu(VM)的脚本执行命令时,它的工作正常但是当从rhel运行脚本时它没有按预期工作。

以下是我的代码:

file = open(FILE, "a")

lockData = struct.pack('hhhh', fcntl.F_WRLCK, 0, 0, 0)

而True:

 try:
      fcntl.fcntl(file, lockCmd, lockData)
      for i in range(50):
          file.seek(0)
          file.write(sys.argv[3]+" : "+str(i)+"\n")
          time.sleep(0.1)

      file.close() # unlocks the file
      break
 except IOError, err:
      print "Error : %s" % err

我的期望是在运行此脚本的两个实例时,然后第一个将执行锁定,而另一个将抛出错误,直到从第一个实例调用close()。这种行为是在ubuntu中实现的,但不是在rhel中实现的。

任何人都可以帮忙吗?

0 个答案:

没有答案