Manpages

이 름

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.txtmandatory.txt이 있 다 .

역 자

정 강 훈 <skyeyes [AT] soback.net>, 2000년 5월 1일

COMMENTS