
flock 함수의 두 번째 인자는 LOCKTYPE을 의미합니다. LOCKTYPE은 파일 잠금의 종류를 지정하는데, 0은 LOCK_EX(잠금)과 LOCK_NB(비블록킹) 모드를 의미합니다. 이는 파일을 잠그고, 다른 프로세스가 파일을 열려고 할 때 블록킹되지 않습니다.
반면에 LOCKTYPE이 1인 경우는 LOCK_EX(잠금) 모드만을 의미합니다. 따라서 다른 프로세스가 파일을 열려고 할 때 블록킹됩니다.
예를 들어, LOCK_EX(잠금) 모드만을 사용하는 경우는 다음과 같습니다.
#hostingforum.kr
c
int fd = open("file.txt", O_RDWR);
flock(fd, LOCK_EX);
이 경우, 다른 프로세스가 "file.txt" 파일을 열려고 할 때 블록킹됩니다.
반면에 LOCK_EX(잠금) 모드와 LOCK_NB(비블록킹) 모드를 사용하는 경우는 다음과 같습니다.
#hostingforum.kr
c
int fd = open("file.txt", O_RDWR);
flock(fd, LOCK_EX | LOCK_NB);
이 경우, 다른 프로세스가 "file.txt" 파일을 열려고 할 때 블록킹되지 않습니다.
2025-08-06 06:09