Provided by: manpages-ko_20050219-2_all bug

SYSTEM CALLS

       fork() fork()  후에  자식  프로세스는  연결된  공유 메모리 세그먼트들을
              상속한다.

       exec() exec()    후에    연결된    모든    공유    메모리    세그먼트는
              분리된다.(파괴되는것이 아니다)

       exit() exit()     시     연결된    모든    공유    메모리    세그먼트는
              분리된다.(파괴되는것이 아니다)

       성공시 유효한 세그먼트 식별자 shmid 가 반환되며, 에러시 -1이  반환된다.

       실패시, errno 는 다음중 하나로 설정된다:

       EINVAL      만일  SHMMIN  >  size,  또는  size  >  SHMMAX,  또는 size이
                   세그먼트의 크기보다 크다면 이 에러가 반환된다.

       EEXIST      IPC_CREAT | IPC_EXCL 이 지정되어 있고, 세그먼트가  존재하면
                   이 에러가 반환된다.

       EIDRM       세그먼트가  파괴나  제거되도록  표시되어  있다면  이 에러가
                   반환된다.

       ENOSPC      가능한 모든 공유 메모리 id (SHMMNI) 를 가졌거나 요청된 size
                   의  세그먼트 할당이 시스템 전체 공유 메모리 제한값 (SHMALL)
                   을 초과할경우 반환된다.

       ENOENT      주어진 key에 해당하는 세그먼트가 존재하지  않고,  IPC_CREAT
                   가 지정되지 않았다면 반환된다.

       EACCES      사용자가  공유  메모리 세그먼트에 대한 접근 허가권이 없을때
                   반환된다.

       ENOMEM      세그먼트를 위해 할당할 메모리가 없을때 반환된다.

       IPC_PRIVATE 는 플레그 필드가 아니라 key_t 타입이다.  이 특별한 값이 key
       에  사용된다면, 시스템 콜은 shmflg 의 하위 9비트들외 모든것을 무시한다.
       그리고 새 공유 메모리 세그먼트를 생성(성공시)한다.

       다음은 shmget 시스템 콜에 영향을 주는  공유  메모리  세그먼트  자원들의
       제한값들이다:

       SHMALL     시스템 전체의 공유 메모리 세그먼트 최대 값: 정책 의존적이다.

       SHMMAX     공유   메모리   세그먼트의   최대    크기(바이트수):    수행
                  의존적이다.(현재 4M)

       SHMMIN     공유    메모리    세그먼트의   최소   크기(바이트수):   수행
                  의존적이다.( PAGE_SIZE 가  유효한  최소  크기이지만,  현재는
                  1byte이다.)

       SHMMNI     시스템   전체의   공유   메모리   세그먼트   최대  수:  수행
                  의존적이다(현재 4096)

       수행시 프로세스당 공유 메모리 세그먼트의 특별한 제한은 없다.  (SHMSEG)

       IPC_PRIVATE 를  사용하면 할당된 공유 메모리  세그먼트를  접근하는  다른
       프로세스들을 저지하지 않는다.

       파일들  때문에,  프로세스를  위해  공유  메모리  세그먼트에 대한 배타적
       접근을 보장하기 위한 방법이 현재는 없다.  shmflg  비트에  IPC_CREATIPC_EXCL  의  지정만이 새 공유 메모리 세그먼트 생성을 보장(성공시)한다.
       이것은 세그먼트에 대한 배타적 접근을 나타내는 것은 아니다.

       SVr4, SVID.  SVr4 문섦EEXIST 에러 조건을 추가적으로  기술했다.   SVr4
       와 SVID 문섧湧EIDRM 조건을 기술하지 않았다.

       ftok(3), ipc(5), shmctl(2), shmat(2), shmdt(2)

       정걷<skyeyes@soback.kornet.net> 2000년 5월 16일
       한글 Manpage 프로젝트 (http://man.kldp.org) 2005년 2월 13일