Home :: International :: Manuals :: Howto :: FAQ :: Man Pages :: Email Login

 
 

 

MSGGET

Section: Linux Programmer's Manual (2)
Updated: November 1, 1993
Index Return to Main Contents
 

̾Á°

msgget - ¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¼±Ê̻Ҥò¼èÆÀ¤¹¤ë  

½ñ¼°

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

int msgget ( key_t key, int msgflg )  

ÀâÌÀ

¤³¤Î´Ø¿ô¤Ï key °ú¤­¿ô¤ÎÃͤδØÏ¢¤·¤¿¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¼±ÊÌ»Ò(identifier)¤òÊÖ¤¹¡£ key ¤Ë IPC_PRIVATE ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¤Ï¿·¤·¤¤¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤¬ºîÀ®¤µ¤ì¤ë¡£ ¤Þ¤¿ key ¤¬ IPC_PRIVATE ¤Ç¤Ê¤¯¤Æ¤â key ¤Ë´ØÏ¢¤¹¤ë¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤¬Â¸ºß¤»¤º¡¢ msgflg ¤Ë IPC_CREAT ¤¬»ØÄꤵ¤ì¤¿¾ì¹ç ( msgflg&IPC_CREAT ¤¬¥¼¥í¤Ç¤Ê¤¤)¤Ï¿·¤·¤¤¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤¬ºîÀ®¤µ¤ì¤ë¡£ msgflg ¤Ë IPC_CREAT ¤È IPC_EXCL ¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ï´û¤Ë¸ºß¤¹¤ë¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤òº½Å¤·¡¢ open(2) ¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë¤Ç mode °ú¤­¿ô¤Ë O_CREAT ¤È O_EXCL ¤ò»ØÄꤷ¤¿¤ÎƱÍͤÎÌò³ä¤ò²Ì¤¹: Î㤨¤Ð msgflg ¤Ë IPC_CREAT ¤È IPC_EXCL ξÊý¤¬»ØÄꤵ¤ì¤ª¤ê¡¢ key ¤ËÂФ¹¤ë¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤¬´û¤Ë¸ºß¤¹¤ë¾ì¹ç¤Ï msgget ¤Ï¼ºÇÔ¤¹¤ë¡£

ºîÀ®¤Î¾ì¹ç¡¢ msgflg °ú¤­¿ô¤Î²¼°Ì 9 ¥Ó¥Ã¥È¤Ï ¤½¤Î¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤Î¥¢¥¯¥»¥¹µö²Ä¥Ñ¥é¥á¡¼¥¿¡¼¤òÄêµÁ¤¹¤ë¡£ ¤³¤ì¤é¤Îµö²Ä¥Ó¥Ã¥È¤Ï open(2) ¤ä creat(2) ¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë¤Î¥¢¥¯¥»¥¹µö²Ä¥Ñ¥é¥á¡¼¥¿¡¼¤ÈƱ¤¸·Á¼°¡¢Æ±¤¸°ÕÌ£¤Ç »ÈÍѤµ¤ì¤ë¡£(¼Â¹Ôµö²Ä¤Ï»ÈÍѤµ¤ì¤Æ¤¤¤Ê¤¤¡£)

¤µ¤é¤Ë¡¢ºîÀ®¤ÎºÝ¤Ë¡¢¥·¥¹¥Æ¥à¤Ï¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¡¦¥Ç¡¼¥¿¹½Â¤ÂÎ msqid_ds ¤ò°Ê²¼¤Î¤è¤¦¤Ë½é´ü²½¤¹¤ë:

msg_perm.cuid ¤È msg_perm.uid ¤Ë¤Ï¸Æ¤Ó½Ð¤·¤¿¥×¥í¥»¥¹¤Î¼Â¸ú(effective)¥æ¡¼¥¶¡¼ ID ¤¬ÀßÄꤵ¤ì¤ë¡£
msg_perm.cgid ¤È msg_perm.gid ¤Ë¤Ï¸Æ¤Ó½Ð¤·¤¿¥×¥í¥»¥¹¤Î¼Â¸ú¥°¥ë¡¼¥× ID ¤¬ÀßÄꤵ¤ì¤ë¡£
msg_perm.mode ¤Î²¼°Ì 9 ¥Ó¥Ã¥È¤Ë¤Ï msgflg ¤Î²¼°Ì 9 ¥Ó¥Ã¥È¤¬ÀßÄꤵ¤ì¤ë¡£
msg_qnum, msg_lspid, msg_lrpid, msg_stime, msg_rtime ¤Ï 0 ¤ËÀßÄꤵ¤ì¤ë¡£
msg_ctime ¤Ë¤Ï¸½ºß»þ¹ï¤¬ÀßÄꤵ¤ì¤ë¡£
msg_qbytes ¤Ë¤Ï¥·¥¹¥Æ¥à¸Â³¦ MSGMNB ¤¬ÀßÄꤵ¤ì¤ë¡£

¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤¬¤¹¤Ç¤Ë¸ºß¤¹¤ë¾ì¹ç¤Ï¥¢¥¯¥»¥¹µö²Ä¤¬¸¡ºº¤µ¤ì¡¢ Ç˲õ(destruction)¥Þ¡¼¥¯¤¬¤Ê¤¤¤«¤ò¥Á¥§¥Ã¥¯¤µ¤ì¤ë¡£  

ÊÖ¤êÃÍ

À®¸ù¤·¤¿¾ì¹ç¡¢ÊÖ¤êÃͤϥá¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¼±ÊÌ»Ò(ÈóÉé¤ÎÀ°¿ô) ¤Ç¤¢¤ë¡£¤½¤¦¤Ç¤Ê¤±¤ì¤Ð -1 ¤¬ÊÖ¤µ¤ì¡¢ errno ¤Ë¤½¤Î¥¨¥é¡¼¤¬¼¨¤µ¤ì¤ë¡£  

¥¨¥é¡¼

¼ºÇÔ¤·¤¿¾ì¹ç¤Ë¤Ï errno ¤Ë°Ê²¼¤ÎÃͤΤʤ«¤Î¤É¤ì¤«¤¬ÀßÄꤵ¤ì¤ë:
EACCES
key ¤Ë´ØÏ¢¤¹¤ë¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤Ï¸ºß¤¹¤ë¤¬¡¢ ¸Æ¤Ó½Ð¤·¤¿¥×¥í¥»¥¹¤Ë¤Ï¤½¤Î¥­¥å¡¼¤ËÂФ·¤Æ¤Î¥¢¥¯¥»¥¹µö²Ä¤¬¤Ê¤¤¡£
EEXIST
key ¤Ë´ØÏ¢¤¹¤ë¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤¬Â¸ºß¤·¡¢ msgflg ¤Ë IPC_CREAT ¤È IPC_EXCL ¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¡£
EIDRM
¤½¤Î¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤ËÇ˲õ(remove)¥Þ¡¼¥¯¤¬¤¢¤ë¡£
ENOENT
key ¤Ë´ØÏ¢¤¹¤ë¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤¬Â¸ºß¤»¤º¡¢ msgflg ¤Ë IPC_CREAT ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¡£
ENOMEM
¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤òºîÀ®¤·¤Ê¤ì¤Ð¤Ê¤é¤Ê¤¤¤¬¡¢¿·¤·¤¤¥Ç¡¼¥¿¹½Â¤ÂΤΤ¿¤á¤Î ½½Ê¬¤Ê¥á¥â¥ê¤¬Â¸ºß¤·¤Ê¤¤¡£
ENOSPC
¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤òºîÀ®¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤¬¡¢¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤ÎºÇÂç¿ô¤Î ¥·¥¹¥Æ¥à¸Â³¦ (MSGMNI) ¤òͤ¨¤Æ¤¤¤ë¡£
 

Ãí°Õ

IPC_PRIVATE ¤Ï¥Õ¥é¥°¡¦¥Õ¥£¡¼¥ë¥É¤Ç¤Ï¤Ê¤¯¡¢ key_t ·¿¤Ç¤¢¤ë¡£ ¤³¤ÎÆÃ¼ì¤ÊÃͤ¬ key ¤Ë»ØÄꤵ¤ì¤ë¤È¡¢¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë¤Ï msgflg ¤Î²¼°Ì 9 ¥Ó¥Ã¥È°Ê³°¤ÎÁ´¤Æ¤ò̵»ë¤·¤Æ(À®¸ù¤·¤¿¾ì¹ç) ¿·¤·¤¤¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤òºîÀ®¤¹¤ë¡£

msgget ¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë¤Ë±Æ¶Á¤¹¤ë¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤Î»ñ¸»¤Î¥·¥¹¥Æ¥à¸Â³¦¤Ë¤Ï °Ê²¼¤Î¤â¤Î¤¬¤¢¤ë:

MSGMNI
¥·¥¹¥Æ¥àÁ´ÂΤΥá¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤ÎºÇÂç¿ô: Êý¿Ë°Í¸
 

¥Ð¥°

IPC_PRIVATE ¤Î»ÈÍѤϾ¥×¥í¥»¥¹¤¬¤½¤ÎÇÛʬ¤µ¤ì¤¿¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤ò ˸¤²¤Ê¤¤¡£

¥Õ¥¡¥¤¥ë¤ÈƱÍͤˡ¢¸½ºß¤Î¤È¤³¤í¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤Ø¤ÎÇÓ¾Ū¤Ê¥¢¥¯¥»¥¹¤ò Êݾڤ¹¤ë¸ÇÍ­¤ÎÊýË¡¤Ï¸ºß¤·¤Ê¤¤¡£ msgflg ¤Ë IPC_CREAT ¤È IPC_EXCL ¤ÎξÊý¤ò»ØÄꤹ¤ë¤³¤È¤Ï¡¢(À®¸ù¤·¤¿¾ì¹ç¤Ë)¿·¤·¤¤¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤¬ ºîÀ®¤µ¤ì¤ë¤³¤È¤Î¤ß¤òÊݾڤ·¡¢¤½¤Î¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤Ø¤ÎÇÓ¾Ū¤Ê¥¢¥¯¥»¥¹¤Ï °ÕÌ£¤·¤Ê¤¤¡£  

½àµò

SVr4, SVID. SVr4 ¤Ï EIDRM ¥¨¥é¡¼¤Ë¤Ä¤¤¤Æµ­½Ò¤·¤Æ¤¤¤Ê¤¤¡£  

´ØÏ¢¹àÌÜ

ftok(3), ipc(5), msgctl(2), msgsnd(2), msgrcv(2)


 

Index

̾Á°
½ñ¼°
ÀâÌÀ
ÊÖ¤êÃÍ
¥¨¥é¡¼
Ãí°Õ
¥Ð¥°
½àµò
´ØÏ¢¹àÌÜ

 
 
 
 
Google
  Web Linuxinfor   
 

Home :: Copyright :: Privacy :: Credits :: Get a free Linuxinfor Email Account

Document on this page is part of "Linuxinfor Man Pages in HTML Format: man2". See Index Page for more info about Authorship and Copyright.

1999-2008 Linuxinfor.com. No rights reserved.