|
|||||||
|
|
IPCSection: Linux Programmer's Manual (5)Updated: November 1, 1993 Index Return to Main Contents ̾Á°ipc - System V ¥×¥í¥»¥¹´ÖÄÌ¿®µ¡¹½½ñ¼°# include <sys/types.h> # include <sys/ipc.h> # include <sys/msg.h> # include <sys/sem.h> # include <sys/shm.h> ÀâÌÀ¤³¤Î¥Þ¥Ë¥å¥¢¥ë¡¦¥Ú¡¼¥¸¤Ï System V ¥×¥í¥»¥¹´ÖÄÌ¿®µ¡¹½¤Î Linux ¤Ë ¤ª¤±¤ë¼ÂÁõ¤òÀâÌÀ¤¹¤ë¡£ ¤³¤Î¥×¥í¥»¥¹´ÖÄÌ¿®µ¡¹½(interprocess communication mechanism)¤Ë¤Ï¡¢ ¥á¥Ã¥»¡¼¥¸¡¦¥¥å¡¼(message queue)¡¢¥»¥Þ¥Õ¥©¡¼½¸¹ç(semaphore set)¡¢ ¶¦Í¥á¥â¥ê¡¦¥»¥°¥á¥ó¥È(shared memory segment)¤Ê¤É¤¬¤¢¤ë¡£°Ê²¼¤Ç »ñ¸»(resource) ¤È¤¤¤¦ÍѸì¤ò»ÈÍѤ·¤¿¾ì¹ç¤Ë¤Ï¤³¤ì¤é¤Îµ¡¹½¤Î¤É¤ì¤«¤ò°ÕÌ£¤¹¤ë¡£»ñ¸»¤Ø¤Î¥¢¥¯¥»¥¹µö²Ä¥·¥¹¥Æ¥à¤Î¤½¤ì¤¾¤ì¤Î»ñ¸»¤Ï¡¢ipc ¤Ø¤ÎÁàºî¤òµö²Ä¤¹¤ë¤«¤É¤¦¤«¤ò·èÄꤹ¤ë ¤¿¤á¤Î¾ðÊó¤ò¶¦Ä̤ι½Â¤ÂÎ struct ipc_perm ¤Ë³ÊǼ¤·¤Æ»ÈÍѤ¹¤ë¡£ipc_perm ¹½Â¤ÂΤϡ¢¥Ø¥Ã¥À¡¼¥Õ¥¡¥¤¥ë¤Î <sys/ipc.h> ¤ËÄêµÁ¤µ¤ì¤Æ¤ª¤ê¡¢°Ê²¼¤Î¥á¥ó¥Ð¡¼¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë:
ushort cuid;
/* ºîÀ®¼Ô¤Î¥æ¡¼¥¶¡¼ID */ ipc_perm ¹½Â¤ÂΤΠmode ¥á¥ó¥Ð¡¼¤Ï°Ê²¼¤Î 9 ¥Ó¥Ã¥È¤Ç¡¢¥×¥í¥»¥¹¤Î ipc ¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë ¤Ë¤è¤ë»ñ¸»¤Ø¤Î¥¢¥¯¥»¥¹µö²Ä¤òÄêµÁ¤¹¤ë¡£ µö²Ä¤Ï°Ê²¼¤Î¤è¤¦¤Ë²ò¼á¤µ¤ì¤ë:
0400 ¥æ¡¼¥¶¡¼¤Ë¤è¤ëÆÉ¤ß¹þ¤ß¡£
0200 ¥æ¡¼¥¶¡¼¤Ë¤è¤ë½ñ¤¹þ¤ß¡£
0040 ¥°¥ë¡¼¥×¤Ë¤è¤ëÆÉ¤ß¹þ¤ß¡£
0020 ¥°¥ë¡¼¥×¤Ë¤è¤ë½ñ¤¹þ¤ß¡£
0004 ¾¿Í¤Ë¤è¤ëÆÉ¤ß¹þ¤ß¡£
0002 ¾¿Í¤Ë¤è¤ë½ñ¤¹þ¤ß¡£
¥·¥¹¥Æ¥à¤Ï¥Ó¥Ã¥È 0100, 0010, 0001 (¼Â¹Ô¥Ó¥Ã¥È) ¤Ï»ÈÍѤ·¤Ê¤¤¡£ ¤µ¤é¤Ë¡¢¥»¥Þ¥Õ¥©¡¼¤Î¾ì¹ç¤Ë¤Ï "½ñ¤¹þ¤ß(write)" ¤Ï¼ÂºÝ¤Ë¤Ï "Êѹ¹(alter)" ¤ò°ÕÌ£¤¹¤ë¡£ Ʊ¤¸¥Ø¥Ã¥À¡¼¥Õ¥¡¥¤¥ë¤Ë¤Ï°Ê²¼¤Î¥·¥ó¥Ü¥ë¤ÎÄêµÁ¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë:
IPC_PRIVATE ¤Ï key_t ·¿¤Ç¤¢¤ë¡£¤½¤Î¾¤ÎÁ´¤Æ¤Î¥·¥ó¥Ü¥ë¤Ï¥Õ¥é¥°¡¦¥Õ¥£¡¼¥ë¥É¤È¤·¤Æ int ÊÑ¿ô¤Ë OR ±é»»¤Ç³ÊǼ¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£ ¥á¥Ã¥»¡¼¥¸¡¦¥¥å¡¼¥á¥Ã¥»¡¼¥¸¡¦¥¥å¡¼¤ÏÀµ¤ÎÀ°¿ô (msqid) ¤Ë¤è¤Ã¤Æ¼±Ê̤µ¤ì¡¢ <sys/msg.h> ¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¹½Â¤ÂÎ struct msquid_ds ¤Ë·ë¤Ó¤Ä¤±¤é¤ì¤Æ¤¤¤ë¡£ ¤³¤Î¹½Â¤ÂΤϰʲ¼¤Î¥á¥ó¥Ð¡¼¤ò´Þ¤ó¤Ç¤¤¤ë:
struct ipc_perm msg_perm;
¥»¥Þ¥Õ¥©¡¼½¸¹ç¥»¥Þ¥Õ¥©¡¼½¸¹ç¤ÏÀµ¤ÎÀ°¿ô (semid) ¤Ë¤è¤Ã¤Æ¼±Ê̤µ¤ì¡¢ <sys/sem.h> ¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¹½Â¤ÂÎ struct semid_ds ¤Ë·ë¤Ó¤Ä¤±¤é¤ì¤Æ¤¤¤ë¡£ ¤³¤Î¹½Â¤ÂΤϰʲ¼¤Î¥á¥ó¥Ð¡¼¤ò´Þ¤ó¤Ç¤¤¤ë:
struct ipc_perm sem_perm;
¥»¥Þ¥Õ¥©¡¼¤Ï struct sem ·¿¤Î¥Ç¡¼¥¿¹½Â¤ÂΤǤ¢¤ê¡¢°Ê²¼¤Î¥á¥ó¥Ð¡¼¤ò´Þ¤ó¤Ç¤¤¤ë:
ushort semval;
/* ¥»¥Þ¥Õ¥©¡¼¤ÎÃÍ */
¶¦Í¥á¥â¥ê¡¦¥»¥°¥á¥ó¥È¶¦Í¥á¥â¥ê¡¦¥»¥°¥á¥È¤ÏÀµ¤ÎÀ°¿ô (shmid) ¤Ë¤è¤Ã¤Æ¼±Ê̤µ¤ì¡¢ <sys/shm.h> ¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë struct shmid_ds ¹½Â¤ÂΤ˷ë¤Ó¤Ä¤±¤ì¤ì¤Æ¤¤¤ë¡£ ¤³¤Î¹½Â¤ÂΤϰʲ¼¤Î¥á¥ó¥Ð¡¼¤ò´Þ¤ó¤Ç¤¤¤ë:
struct ipc_perm shm_perm;
´ØÏ¢¹àÌÜ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 | ||||||
|
|
|
Home :: Copyright :: Privacy :: Credits :: Get a free Linuxinfor Email Account Document on this page is part of "Linuxinfor Man Pages in HTML Format: man5". See Index Page for more info about Authorship and Copyright. 1999-2008 Linuxinfor.com. No rights reserved. |