K 개발자
시스템 V IPC의 공통 요소 본문
키와 식별자
시스템 V IPC에서 사용하는 키는 key_t 형으로 <sys/types.h>에 선언되어 있으며, 32비트 정수형이다.
IPC를 사용하기 위해 새로운 IPC 객체를 생성할 때 키를 지정한다.
키가 다르면 서로 다른 객체가 생성된다.
각 IPC 방법의 객체 생성 함수에서 키를 받아 새로운 IPC 객체를 생성하고, 이를 식별하는 식별자를 리턴한다.
이 식별자를 사용해 통신할 수 있다.
키 생성하기 : ftok(3)
#include <sys/ipc.h>
key_t ftok(const char *path, int id);
// path : 파일시스템에 이미 존재하는 임의의 파일의 경로명, id : 키 값을 생성할 때 지정하는 임의의 번호(1~255)
IPC 공통 구조체
시스템 V IPC를 사용하기 위해 해당 IPC의 객체를 생성하면 IPC 공통 구조체가 정의된다.
시스템 V IPC에서 공통으로 사용하는 IPC 공통 구조체는 <sys/ipc.h> 파일에 다음과 같이 정의되어 있다.
struct ipc_perm {
uid_t uid;
gid_t gid;
uid_t cuid;
gid_t cgid;
mode_t mode;
uint_t seq;
key_t key;
int pad[4];
};
시스템 V IPC 정보 검색
시스템 V IPC의 정보를 검색하고 현재 상태를 확인하는 명령은 ipcs다.
ipcs 명령을 실행하는 동안에도 IPC의 상태가 변경될 수 있다.
ipcs 명령은 검색하는 순간의 정확성만 보장한다.
상태가 변경된 정보를 보려면 ipcs 명령을 다시 수행해야 한다.
ipcs 명령의 기본 형식
ipcs [-aAbciJmopqstZ] [-D mtype]
시스템 V IPC 정보 삭제
시스템 V IPC의 정보를 검색하고 이중 불필요한 IPC 객체를 삭제하려면 ipcrm 명령을 사용한다.
ipcrm 명령의 기본 형식은 다음과 같다.
ipcrm [-m shmid] [-q msqid] [-s semid] [-M shmkey] [-Q msgkey] [-s semkey]
Comments