ipc

Autres langues

Langue: ko

Version: 1993년 11월 1일 (fedora - 25/11/07)

Autres sections - même nom

Section: 5 (Format de fichier)

이름

ipc - System V 상호프로세스(interprocess) 통신 메카니즘.

사용법

 # include <sys/types.h>
 # include <sys/ipc.h>
 # include <sys/msg.h>
 # include <sys/sem.h>
 # include <sys/shm.h>
 
 

설명

메뉴얼은 메시지큐, 신호설정과 공유메모리분할과 같은 System V 상호프로세스(interprocess) 통신 메카니즘의 리눅스 구현을 참조한다. 자원 은 이러한 메카니즘에서 하나의 예이다. <sys/ipc.h> 시스템 헤더파일에 의해 정의되는 ipc_perm 구조는 다음의 멤버들을 포함한다:

      ushort cuid;    
/* 만든 사용자 id */
      ushort cgid;    
/* 만든 그룹 id */
      ushort uid;
/* 소유자 id */
      ushort gid;
/* 소유그룹 id */
      ushort mode;
/* 읽기/쓰기 권한 */

mode member of the ipc_perm 구조는 ipc시스템 호출을 실행하는 프로세스를 위한 자원의 접근 권한을 정의한다. 권한은 다음과 같이 해석된다:

         0400    Read by user.
         0200    Write by user.
 
         0040    Read by group.
         0020    Write by group.
 
         0004    Read by others.
         0002    Write by others.
 

비트 0100, 0010 and 0001 (실행 비트)는 시스템의 의해 사용되지 않는다. ‰C붙여 "write" 는 시그널 설정을 위한 "alter"를 의미한다.

같은 시스템 헤더파일은 또한 다음의 심볼릭 상수를 정의한다.

IPC_CREAT
키(key)가 없다면 entry를 생성한다.
IPC_EXCL
키가 있으면 실패한다.
IPC_NOWAIT
요청이 대기되어져야만 에러가 난다.
IPC_PRIVATE
개인 키.
IPC_RMID
자원 삭제.
IPC_SET
자원 옵션 설정.
IPC_STAT
자원 옵션을 갖는다.
msg_perm
메세지 큐에 접근권한을 지정하는 ipc_perm 구조.
msg_qnum
메세지 큐의 메세지 번호.
msg_qbytes
메세지 큐에 허용된 메세지 텍스트의 최대크기.
msg_lspid
마지막 msgsnd 시스템 호출을 실행하는 프로세스의 ID.
msg_lrpid
마지막 msgrcv 시스템 호출을 실행하는 프로세스의 ID.
msg_stime
마지막 msgsnd 시스템 호출의 시간.
msg_rtime
마지막 msgcv 시스템 호출의 시간.
msg_ctime
msqid_ds 구조의 멤버를 바꾸는 마지막 시스템 호출의 시간.
sem_perm
시그널 설정의 접근 권한을 지정하는 ipc_perm 구조.
sem_otime
마지막 semop 시스템 호출의 시간.
sem_ctime
마지막 semctl 시스템 호출의 시간.
semval
시그널 값: 0이나 양의 정수.
semncnt
증가하는 semval 를 위해 정지된 프로세스의 수.
shm_perm
고유메모리 구간에 접근 권한을 지정하는 ipc_perm 구조.
shm_segsz
공유메모리 구간의 크기.
shm_cpid
공유메모리 구간을 생성하는 프로세스의 ID.
shm_lpid
shmatshmdt 시스템 호출을 실행하는 마지막 프로세스의 ID.
shm_atime
마지막 shmat 시스템 호출의 시간.
shm_dtime
마지막 shmdt 시스템 호출의 시간.
shm_ctime
shmid_ds 을 바꾸는 마지막 shmctl 시스템 호출의 시간.

관련 항목

ftok(3), msgctl(2), msgget(2), msgrcv(2), msgsnd(2), semctl(2), semget(2), semop(2), shmat(2), shmctl(2), shmget(2), shmdt(2).