Scroll to navigation

FLOCK(2) 리눅스 프로그래머 메뉴얼 FLOCK(2)

이름

flock - 열려진 파일에 권고(advisory) 잠금을 적용하거나 제거한다.

사용법

#include <sys/file.h>

int flock(int fd, int operation)

설명

열려진 파일에 권고 잠금을 적용하거나 제거한다. 파일은 fd 로 지정된다. 유효한 연산은 다음과 같다:

공유(shared) 잠금. 한개 이상의 프로세스들은 주어진 시간에 주어진 파일에 대한 공유 잠금을 할수 있다.
배타(exclusive) 잠금. 단지 한개의 프로세스만이 주어진 시간에 주어진 파일에 대해 배타 잠금을 할수 있다.
잠금을 푼다.
잠금일 때 블럭하지 않는다. 다른 연산과 함께 or에 의해 지정된다.

한 파일에 동시에 공유 잠금과 배타 잠금을 할 수 없다.

파일은 파일 기술자에 대해 잠금이 일어나는 것이 아니라, inode에 대해 잠금이 된다. 그래서, dup(2)fork(2)는 중복된 잠금을 만들지 않는다.

반환값

성공시, 0이 리턴된다. 에러시, -1이 리턴되며, errno는 적당한 값으로 설정된다.

에러

파일은 잠겨 있고 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@soback.kornet.net>, 2000년 5월 1일

1998년 12월 11일 리눅스