FLOCK
Section: 리눅스 프로그래머 메뉴얼 (2)
Updated: 1998년 12월 11일
Index
Return to Main Contents
이름
flock - 열려진 파일에 권고(advisory) 잠금을 적용하거나 제거한다.
사용법
#include <sys/file.h>
int flock(int fd, int operation)
설명
열려진 파일에 권고 잠금을 적용하거나 제거한다.
파일은
fd
로 지정된다.
유효한 연산은 다음과 같다:
-
- LOCK_SH
-
공유(shared) 잠금. 한개 이상의 프로세스들은 주어진 시간에 주어진 파일에 대한
공유 잠금을 할수 있다.
- LOCK_EX
-
배타(exclusive) 잠금. 단지 한개의 프로세스만이 주어진 시간에 주어진 파일에
대해 배타 잠금을 할수 있다.
- LOCK_UN
-
잠금을 푼다.
- LOCK_NB
-
잠금일 때 블럭하지 않는다.
다른 연산과 함께
or에
의해 지정된다.
한 파일에 동시에 공유 잠금과 배타 잠금을 할 수 없다.
파일은 파일 기술자에 대해 잠금이 일어나는 것이 아니라, inode에 대해
잠금이 된다. 그래서,
dup(2)와
fork(2)는
중복된 잠금을 만들지 않는다.
반환값
성공시, 0이 리턴된다. 에러시, -1이 리턴되며,
errno는
적당한 값으로 설정된다.
에러
- EWOULDBLOCK
-
파일은 잠겨 있고
LOCK_NB
플래그가 선택되었다.
호환
4.4BSD (flock(2)은 4.2BSD에서 처음으로 나타났다).
주의
flock(2)은
NFS에 있는 파일을 잠금을 하지 않는다.
대신에
fcntl(2)를
사용해라: 이 시스템 콜은 최신 버전이고 서버가 잠금을 지원한다면
NFS에서도 작동한다.
flock(2)과
fcntl(2)
잠금은 생성된 프로세스와
dup(2)에
대해서 다른 의미를 갖는다.
관련 항목
open(2),
close(2),
dup(2),
execve(2),
fcntl(2),
fork(2).
/usr/src/linux/Documentation
안에
locks.txt와
mandatory.txt이
있다.
역자
정강훈 <skyeyes@soback.kornet.net>, 2000년 5월 1일
Index
- 이름
-
- 사용법
-
- 설명
-
- 반환값
-
- 에러
-
- 호환
-
- 주의
-
- 관련 항목
-
- 역자
-
This document was created by
man2html,
using the manual pages.
Time: 08:07:00 GMT, March 25, 2004