IPC
Section: 리눅스 프로그래머 메뉴얼 (5)
Updated: 1993년 11월 1일
Index
Return to Main Contents
이름
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 (실행 비트)는 시스템의 의해 사용되지 않는다.
덪붙여
"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
-
shmat
나
shmdt
시스템 호출을 실행하는 마지막 프로세스의 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).
Index
- 이름
-
- 사용법
-
- 설명
-
- 관련 항목
-
This document was created by
man2html,
using the manual pages.
Time: 08:07:01 GMT, March 25, 2004