inflearn logo
강의

講義

知識共有

Linuxシステムプログラミング - 理論と実践

ファイルを使用した同期 - ライブプログラミング

파일 lock에 관해서

430

zeroone

投稿した質問数 10

2

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

linux

回答 2

1

learnit

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

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

0

zeroone

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

inotify 객체에 등록된 watch descriptor 해제 관련 질문

0

44

2

select API 실습 코드 질문

0

47

2

wsl에서 fcntl사용

0

79

2

inotify_event 구조체 질문 [파일 이벤트 - 라이브 프로그래밍]에서...

0

183

2

./stat 파일이름

0

276

2

fopen r, r+모드 차이

0

464

2

강의를 모두 수강하고 스스로 구현하면 좋을 과제나 프로젝트 주제가 있을까요?

0

330

1

pthread 질문

0

424

2

I/O Multiplexing(select) 질문

0

327

1

inotify.c. ret 질문

0

307

1

inotify.c 질의합니다.

1

319

1

child process

0

722

1

read/blocking

0

571

1

flock

0

568

1

system call

0

605

1

pthread_create() 함수 이용했을 때, thread가 두번 호출되는 것 처럼 나타납니다. 왜 그런것인가요?

0

490

1

fork() 함수 사용시 결과 관련 질문

0

380

1

exec 관련 궁금한 사항

0

457

2

파일 디스크립터와 FILE 구조체에 대한 질문

0

562

1

buf 선언에 따른 read() fail 문제

0

257

2

파일 이벤트 - 라이브 프로그래밍 에서 캐스팅 질문

0

260

1

2번 multi thread 방법 질문

0

248

1

segmentation fault 발생 관련 문의

1

847

1

라이브 코딩 실습 코드

0

238

1