C 언어에서 파일 전체가 아니라 현재 위치부터 일정 바이트 구간을 잠그고 싶다면 lockf()를 사용할 수 있다.
헤더와 선언
#include <unistd.h>
int lockf(int fd, int cmd, off_t len);반환값과 주의점
성공은 0, 실패는 -1이다. F_TLOCK은 기다리지 않고 잠금 획득을 시도한다.
len은 현재 파일 위치를 기준으로 한 잠금 길이다. 0이면 파일 끝까지를 의미한다. 리눅스의 레코드 잠금은 같은 프로세스에서 파일을 닫는 동작과도 관계가 있어 잠금 수명을 주의해야 한다.
답글 달기