• 카테고리

    질문 & 답변
  • 세부 분야

    시스템

  • 해결 여부

    미해결

파일 lock에 관해서

19.11.12 13:39 작성 조회수 188

2

./flock ex 혹은 ./flock sh 해서 lock을 걸어둔 상태에서 다른 터미널 창에서 cat lockfile하면 출력이 가능하던데  왜 가능한건지 모르겠습니다.

답변 2

·

답변을 작성해보세요.

1

fclock은 advisory lock 입니다. flock으로 파일을 exclusive locking 했다 하더라도 파일 시스템에서 locking 된 것이 아닙니다. advisory lock이라는 말은, 해당 파일 lock에 대해 flock()을 이용해 파일 접근 가능 여부를 확인하는 프로세스들 끼리만 동작이 된다는 말입니다. 일종의 약속인 것이죠.

그런데 cat 명령어는 fclock()으로 검사하기로 한 프로그램이 아니죠. 그렇기 때문에 flock()에 의해 잠겨있던 말든 파일에 접근이 가능합니다. rm으로 파일 삭제도 가능합니다. 

0

zeroone님의 프로필

zeroone

질문자

2019.11.15

친절한 답변 감사합니다. 이해 잘 되었습니다.