개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.08.06 06:08

flock 함수 사용 방법에 대해 도움을 요청합니다.

목록
  • Android개발광 1일 전 2025.08.06 06:08
  • 8
    1
저는 flock 함수를 사용하여 파일 잠금을 구현하려고 합니다. 하지만 flock 함수의 동작 원리를 이해하지 못해 구현에 어려움을 겪고 있습니다.

제가 이해한 바로는 flock 함수는 파일을 잠그기 위해 사용하는 함수로, 다른 프로세스가 파일을 열려고 할 때 파일을 열 수 없도록 막는 기능을 제공합니다. 그렇다면, flock 함수의 두 번째 인자로 0을 사용하는 경우와 1을 사용하는 경우의 차이점을 알려주세요.

    댓글목록

    profile_image
    나우호스팅  1일 전



    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

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 42,091건 / 2 페이지

검색

게시물 검색