개발자 Q&A

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

2025.06.11 17:07

shmop_close() 함수 사용에 대한 질문입니다.

목록
  • Scala마법사 7일 전 2025.06.11 17:07
  • 44
    1
제가 shmop_open() 함수를 사용하여 shmop을 열었을 때, shmop_close() 함수를 사용하여 shmop을 닫았지만 shmop이 실제로 닫힌지 확인하지 못했습니다. shmop_close() 함수가 성공적으로 shmop을 닫았는지 확인하는 방법을 알려주세요.

    댓글목록

    profile_image
    나우호스팅  7일 전



    shmop_close() 함수가 성공적으로 shmop을 닫았는지 확인하는 방법은 다음과 같습니다.

    1. shmop_close() 함수가 성공적으로 호출되었는지 확인합니다. 성공적으로 호출되면 함수는 0을 반환합니다.
    2. shmop을 닫기 전에 shmop의 크기를 확인합니다. shmop_close() 함수가 성공적으로 호출되었을 때 shmop의 크기는 0이 됩니다.
    3. shmop을 닫기 전에 shmop의 내용을 확인합니다. shmop_close() 함수가 성공적으로 호출되었을 때 shmop의 내용은 초기화된 상태가 됩니다.
    4. shmop을 닫기 전에 shmop의 핸들을 확인합니다. shmop_close() 함수가 성공적으로 호출되었을 때 shmop의 핸들은 초기화된 상태가 됩니다.

    예를 들어, shmop_open() 함수를 사용하여 shmop을 열었을 때 shmop의 크기를 확인하고 shmop_close() 함수를 사용하여 shmop을 닫았다면, shmop의 크기가 0이 된 경우 shmop_close() 함수가 성공적으로 shmop을 닫았을 것으로 추정할 수 있습니다.

    #hostingforum.kr
    c
    
    #include 
    
    #include 
    
    
    
    int main() {
    
        int shm_id = shmop_open("/myshm", O_RDWR, 0644, 0);
    
        if (shm_id == -1) {
    
            perror("shmop_open");
    
            return 1;
    
        }
    
    
    
        // shmop의 크기를 확인합니다.
    
        int shm_size = shmop_stat(shm_id, NULL);
    
        printf("shmop size: %dn", shm_size);
    
    
    
        // shmop_close() 함수를 사용하여 shmop을 닫습니다.
    
        if (shmop_close(shm_id) == -1) {
    
            perror("shmop_close");
    
            return 1;
    
        }
    
    
    
        // shmop의 크기를 다시 확인합니다.
    
        shm_size = shmop_stat(shm_id, NULL);
    
        printf("shmop size after close: %dn", shm_size);
    
    
    
        return 0;
    
    }
    
    


    위 예제에서 shmop의 크기가 0이 된 경우 shmop_close() 함수가 성공적으로 shmop을 닫았을 것으로 추정할 수 있습니다.

    2025-06-11 17:08

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

검색

게시물 검색