1

Pythonfcntlモジュールを使用してファイルシステムコールを介してロックを行うPythonスクリプトがあります。

このスクリプトは、Ubuntu10.10リリースで正常に機能します。

しかし、Centos 6.2ホストで同じスクリプトを実行すると、スクリプトは次のエラーで爆破します。

* AttributeError:'module'オブジェクトには属性'F_WRLCK'がありません*

実際のコードは次のとおりです。

    if Cmd['mode'] == 'r':
        lockType = fcntl.F_RDLCK
    else:
        lockType = fcntl.F_WRLCK

Centosホストでは、スクリプトが最後の行を爆撃します。

なぜfcntlモジュールにはCentos6.2カーネルではF_WRLCK属性がないのに、Ubuntuではあるのですか?

参考までに、Ubuntu10.10とCentos6.2の両方でPython2.6.6が実行されています。

これに対する回避策または解決策はありますか?flockではなくfcntlを使用する必要があります。

4

0 に答える 0