Lock
為什麼flock不清理鎖文件?
處理完成後,我看到鎖定文件沒有被刪除?有什麼理由
flock
保留文件嗎?另外如何flock
知道是否獲得了鎖?這是來自
crontab
文件的範例* * * * * flock python <script_name>.py
對於 的大多數案例,不“清理”
flock
鎖定文件非常重要。否則,想像一下這種情況:
- 程序A打開鎖文件,發現它不存在,於是創建它。
- 程序A獲得鎖
- 程序B打開鎖(發現已經存在)
- 程序 B 嘗試獲取鎖但必須等待
- 程序A釋放鎖
- 程序 B 立即獲得鎖
- 程序A刪除鎖文件
- 程序C打開鎖文件,發現不存在,於是新建了一個。請注意,它現在正在打開一個不同的鎖定文件,該文件已被程序 B 鎖定。
- 程序 C 嘗試獲取鎖並成功……但它應該不得不等待,因為程序 B 仍然有$$ a prior incarnation of $$鎖定文件打開並鎖定。