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

 
 

 

MSGCTL

Section: Linux Programmer's Manual (2)
Updated: 18 Feb 2001
Index Return to Main Contents
 

̾Á°

msgctl - ¥á¥Ã¥»¡¼¥¸À©¸æÁàºî  

½ñ¼°

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

int msgctl ( int msqid, int cmd, struct msqid_ds *buf )  

ÀâÌÀ

¤³¤Î´Ø¿ô¤Ï¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¼±ÊÌ»Ò msqid ¤Ç»ØÄꤵ¤ì¤¿¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼ (message queue) ¤ËÂФ·¤Æ cmd ¤Ç»ØÄꤵ¤ì¤¿À©¸æÁàºî¤ò¹Ô¤Ê¤¦¡£ cmd ¤Ë»È¤¨¤ëÃͤÏ:
IPC_STAT
¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¡¦¥Ç¡¼¥¿¹½Â¤ÂΤ«¤é buf ¤Ç»ØÄꤵ¤ì¤¿¹½Â¤ÂΤ˥ǡ¼¥¿¤ò¥³¥Ô¡¼¤¹¤ë¡£ ¥æ¡¼¥¶¡¼¤Ï¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤ËÂФ¹¤ëÆÉ¤ß¹þ¤ßµö²Ä¤ò»ý¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
IPC_SET
buf ¤Ç»ØÄꤵ¤ì¤¿ msqid_ds ¹½Â¤ÂΤΥá¥ó¥Ð¡¼¤ÎÃͤò¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¡¦¥Ç¡¼¥¿¹½Â¤ÂΤ˽ñ¤­¹þ¤ß¡¢ msg_ctime ¥á¥ó¥Ð¡¼¤â¹¹¿·¤¹¤ë¡£ buf ¤Ë¤è¤Ã¤Æ¥æ¡¼¥¶¡¼¤¬Í¿¤¨¤¿ msqid_ds ¹½Â¤ÂÎ ¤Î¥á¥ó¥Ð¡¼¤Î¤¦¤Á°Ê²¼¤Î¤â¤Î¤¬¹Í褵¤ì¤ë:

        msg_perm.uid
        msg_perm.gid
        msg_perm.mode   /* ²¼°Ì 9 ¥Ó¥Ã¥È¤Î¤ß */
        msg_qbytes

¸Æ¤Ó½Ð¤·¤¿¥×¥í¥»¥¹¤Î¼Â¸ú (effective) ¥æ¡¼¥¶¡¼ ID ¤Ï¥¹¡¼¥Ñ¡¼¡¦¥æ¡¼¥¶¡¼¡¢ ¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤ÎºîÀ®¼Ô (creator)¡¢½êÍ­¼Ô (owner) ¤Î ¤¤¤º¤ì¤«¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ ¥¹¡¼¥Ñ¡¼¡¦¥æ¡¼¥¶¡¼¤Î¤ß¤¬ msg_qbytes ¤ò¥·¥¹¥Æ¥à¡¦¥Ñ¥é¥á¡¼¥¿¡¼¤Î MSGMNB ¤òͤ¨¤ÆÀßÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

IPC_RMID
¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤È¤½¤Î¥Ç¡¼¥¿¹½Â¤ÂΤò¤¿¤À¤Á¤Ëºï½ü¤¹¤ë¡£ Á´¤Æ¤ÎÆÉ¤ß¹þ¤ß¤ä½ñ¤­¹þ¤ß¤òÂԤäƤ¤¤¿¥×¥í¥»¥¹¤Ï (¥¨¥é¡¼¤È¤Ê¤ê errno ¤Ë EIDRM ¤¬ÀßÄꤵ¤ì¤Æ¡¢) ºÆ³« (awake) ¤µ¤ì¤ë¡£ ¸Æ¤Ó½Ð¤·¤¿¥×¥í¥»¥¹¤Î¼Â¸ú¥æ¡¼¥¶¡¼ ID ¤Ï¥¹¡¼¥Ñ¡¼¡¦¥æ¡¼¥¶¡¼¡¢ ¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤ÎºîÀ®¼Ô (creator)¡¢½êÍ­¼Ô (owner) ¤Î ¤¤¤º¤ì¤«¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
 

ÊÖ¤êÃÍ

À®¸ù¤·¤¿¾ì¹ç¤Ï 0 ¤¬ÊÖ¤µ¤ì¤ë¡£¤½¤¦¤Ç¤Ê¤±¤ì¤Ð -1 ¤¬ÊÖ¤µ¤ì¡¢ errno ¤¬¤½¤Î¥¨¥é¡¼¤ò¼¨¤¹¤è¤¦¤ËÀßÄꤵ¤ì¤ë¡£  

¥¨¥é¡¼

¼ºÇÔ¤·¤ÆÊÖ¤µ¤ì¤¿¾ì¹ç¤Ï errno ¤Ë°Ê²¼¤ÎÃͤÎÃæ¤Î¤É¤ì¤«°ì¤Ä¤¬ÀßÄꤵ¤ì¤ë:
EACCES
°ú¤­¿ô cmd ¤¬ IPC_STAT ¤ËÅù¤·¤¤¤¬¡¢¸Æ¤Ó½Ð¤·¤¿¥×¥í¥»¥¹¤¬¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼ msqid ¤ËÂФ¹¤ëÆÉ¤ß¹þ¤ßµö²Ä¤ò»ý¤Ã¤Æ¤¤¤Ê¤¤¡£
EFAULT
°ú¤­¿ô cmd ¤¬ IPC_SET ¤« IPC_STAT ¤Ç¡¢ buf ¤Ç»Ø¤µ¤ì¤Æ¤¤¤ë¥¢¥É¥ì¥¹¤¬¥¢¥¯¥»¥¹²Äǽ¤Ç¤Ê¤¤¡£
EIDRM
¥á¥Ã¥»¡¼¥¸¡¦¥­¥å¡¼¤¬ºï½ü¤µ¤ì¤¿¡£
EINVAL
cmd ¤Þ¤¿¤Ï msqid ¤ËÉÔÀµ¤ÊÃͤ¬ÀßÄꤵ¤ì¤¿¡£
EPERM
°ú¤­¿ô cmd ¤¬ IPC_SET ¤« IPC_RMID ¤Ç¡¢¸Æ¤Ó½Ð¤·¤¿¥×¥í¥»¥¹¤Î¼Â¸ú¥æ¡¼¥¶¡¼ ID ¤¬ ¤½¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¸¢Íø¤ò»ý¤¿¤Ê¤¤¡£ ¤³¤ì¤Ï¥¹¡¼¥Ñ¡¼¡¦¥æ¡¼¥¶¡¼°Ê³°¤Î¥×¥í¥»¥¹¤¬ msg_qbytes ¤ò¥·¥¹¥Æ¥à¡¦¥Ñ¥é¥á¡¼¥¿¡¼¤Î MSGMNB ¤Ç»ØÄꤵ¤ì¤¿ÃͰʾå¤ËÁý²Ã¤µ¤»¤è¤¦¤È¤·¤¿¾ì¹ç¤Ë¤âȯÀ¸¤¹¤ë¤³¤È¤ËÃí°Õ¤¹¤ë¤³¤È¡£
 

Ãí°Õ

IPC_INFO, MSG_STAT, MSG_INFO À©¸æ¥³¡¼¥ë¤Ï ipcs(8) ¥×¥í¥°¥é¥à¤Ç»ñ¸»¤Î³ä¤êÅö¤Æ¾ðÊó¤òÄ󶡤¹¤ë¤¿¤á¤Ë»ÈÍѤµ¤ì¤Æ¤¤¤ë¡£ ¾­ÍèŪ¤Ë¤³¤ì¤é¤Ï proc ¥Õ¥¡¥¤¥ë¡¦¥·¥¹¥Æ¥à¡¦¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò»È¤¦¤è¤¦¤Ë ½¤Àµ¤µ¤ì¤ë¤«¤â¤·¤ì¤Ê¤¤¡£

¹½Â¤ÂÎ msqid_ds Æâ¤Î¿¤¯¤Î¥Õ¥£¡¼¥ë¥É¤Ï¡¢ Linux 2.2 ¤Ç¤Ïû¤«¤Ã¤¿¤¬¡¢Linux 2.4 ¤Ç¤ÏŤ¯¤Ê¤Ã¤¿¡£ ¤³¤ÎÍøÅÀ¤òÀ¸¤«¤¹¤Ë¤Ï¡¢glibc-2.1.91 °Ê¹ß¤Î´Ä¶­²¼¤Ç ºÆ¥³¥ó¥Ñ¥¤¥ë¤¹¤ì¤Ð½½Ê¬¤Ç¤¢¤ë¡£ ¥«¡¼¥Í¥ë¤Ï¿·¤·¤¤·Á¼°¤Î¸Æ¤Ó½Ð¤·¤È¸Å¤¤·Á¼°¤Î¸Æ¤Ó½Ð¤·¤ò cmd Æâ¤Î IPC_64 ¥Õ¥é¥°¤Ç¶èÊ̤¹¤ë¡£  

½àµò

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

´ØÏ¢¹àÌÜ

ipc(5), msgget(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.