我想在Unix上使用python来检测文件是否被锁定.删除文件是可以的,假设它有助于检测文件是否被锁定.
该文件最初可能由另一个进程专门打开.文档似乎暗示如果文件被锁定,os.unlink不一定会返回错误.
想法?
小智 8
检查文件是否被锁定的最佳方法是尝试锁定它.该的fcntl模块将在Python,比如做
fcntl.lockf(fileobj.fileno(), fcntl.LOCK_EX | fcntl.LOCK_NB)
如果文件已被锁定,这将引发IOError; 如果没有,你可以打电话
fcntl.lockf(fileobj.fileno(), fcntl.LOCK_UN)
再次解锁.
请注意,与Windows不同,打开文件进行写入并不会自动为您提供Unix中的独占锁定.另请注意,fcntl模块在Windows上不可用; 你需要使用os.open,这是一个不太友好但更便携的界面(可能需要重新打开文件).
| 归档时间: |
|
| 查看次数: |
6023 次 |
| 最近记录: |