왜 잠금 파일을 무리 정리하지 않습니까? [폐쇄]

왜 잠금 파일을 무리 정리하지 않습니까? [폐쇄]

처리가 완료된 후에도 잠긴 파일은 삭제되지 않은 것으로 보이나요? flock이 파일을 보관할 이유가 있나요 ? 또한 flock잠금이 획득되었는지 어떻게 알 수 있나요?

crontab다음은 파일의 예입니다.

* * * * * flock python <script_name>.py

답변1

대부분의 사용 사례에서는 flock파일 잠금이 매우 중요합니다.아니요"청소"하십시오. 그렇지 않으면 다음 시나리오를 상상해 보세요.

  • 프로세스 A는 잠금 파일을 열고 해당 파일이 존재하지 않음을 확인하여 생성합니다.
  • 프로세스 A가 잠금을 획득합니다.
  • 프로세스 B가 잠금을 엽니다(이미 존재하는 것으로 확인됨).
  • 프로세스 B는 잠금을 획득하려고 시도하지만 기다려야 합니다.
  • 프로세스 A가 잠금을 해제합니다.
  • 프로세스 B는 즉시 잠금을 획득합니다.
  • 프로세스 A가 잠금 파일을 삭제합니다.
  • 프로세스 C는 잠금 파일을 열고 해당 파일이 존재하지 않음을 확인하고 새 잠금 파일을 생성합니다. 현재는 열려 있으니 참고하세요다른프로세스 B가 파일을 잠갔습니다.
  • 프로세스 C는 잠금을 획득하려고 시도하고 성공합니다. 하지만 프로세스 B가 여전히 잠금 파일의 [이전 버전]을 열고 잠겨 있으므로 기다려야 합니다.

관련 정보