如何在没有竞争条件的情况下保存文件?

时间:2013-12-06 00:05:25

标签: python locking

我在使用 python 编写的应用程序重命名文件时遇到了竞争条件。 下面的确切问题:

应用程序将csh脚本调度到网格,然后它将运行并尝试将文件A.run重命名为A.com

同时,当通过应用程序终止此作业(其中一项功能是终止提交的作业)时,应用程序会尝试将A.run重命名为A.kil

但是,如果两个操作同时发生,我在重命名文件时遇到竞争条件。我试图理解是否可以通过文件上的csh脚本设置任何锁定,以便在此期间根本不调用kill函数。

有关如何解决此问题的任何想法?

1 个答案:

答案 0 :(得分:0)

flock命令(可用作shell命令和python函数)可以帮助您避免竞争条件。