µ±Ç°Î»ÖãºLinux½Ì³Ì - Linux×ÛºÏ - ½ø³Ì¼äͨÐŵķ½Ê½---LinuxIPCС½á

½ø³Ì¼äͨÐŵķ½Ê½---LinuxIPCС½á

¡¡¡¡ÏÖÔÚ×î³£ÓõĽø³Ì¼äͨÐŵķ½Ê½ÓУºÐźţ¬ÐźÅÁ¿£¬ÏûÏ¢¶ÓÁУ¬¹²ÏíÄÚ´æ¡£¡¡¡¡¡¡¡¡Ëùν½ø³ÌͨÐÅ£¬¾ÍÊDz»Í¬½ø³ÌÖ®¼ä½øÐÐһЩ"½Ó´¥"£¬ÕâÖÖ½Ó´¥Óмòµ¥£¬Ò²Óи´ÔÓ¡£»úÖƲ»Í¬£¬¸´ÔÓ¶ÈÒ²²»Ò»Ñù¡£Í¨ÐÅÊÇÒ»¸ö¹ãÒåÉϵÄÒâÒ壬²»½ö½öÖ¸´«µÝһЩmassege¡£¡¡¡¡¡¡¡¡ËûÃǵÄʹÓ÷½·¨ÊÇ»ù±¾ÏàͬµÄ£¬ËùÒÔÖ»ÒªÕÆÎÕÁËÒ»ÖÖµÄʹÓ÷½·¨£¬È»ºó¼ÇסÆäËûµÄʹÓ÷½·¨¾Í¿ÉÒÔÁË¡£¡¡¡¡¡¡¡¡1£® Ðźš¡¡¡ÔÚÎÒѧϰµÄÄÚÈÝÖУ¬Ö÷Òª½Ó´¥ÁËÐźÅÀ´ÊµÏÖͬ²½µÄ»úÖÆ£¬¾Ý˵ÐźÅÒ²¿ÉÒÔÓÃÀ´×öÆäËüµÄÊÂÇ飬µ«ÊÇÎÒ»¹²»ÖªµÀ×öʲô¡£¡¡¡¡¡¡¡¡ÐźźÍÐźÅÁ¿ÊDz»Í¬µÄ£¬ËûÃÇËäÈ»¶¼¿ÉÓÃÀ´ÊµÏÖͬ²½ºÍ»¥³â£¬µ«Ç°ÕßÊÇʹÓÃÐźŴ¦ÀíÆ÷À´½øÐеģ¬ºóÕßÊÇʹÓÃP,V²Ù×÷À´ÊµÏֵġ£¡¡¡¡¡¡¡¡Ê¹ÓÃÐźÅÒªÏÈÖªµÀÓÐÄÄЩÐźţ¬ÔÚLinuxÏÂÓÐ31¸öÐèÒª¼ÇסµÄͨÓÃÐźţ¬¾Ý˵ҲÊÇsystemVÖÐ×î³£ÓõÄÄÇЩ¡£ÕâÀïÂÔ¡£¡¡¡¡¡¡¡¡1£® 1ÐźÅÏà¹Øº¯Êý£º¡¡¡¡#include¡¡¡¡int sigaction(int signo, const strUCt sigaction *act, struct sigaction¡¡¡¡*oact);¡¡¡¡¸Ãº¯ÊýÓÃÀ´Îª½ø³Ì°²×°ÐźŴ¦ÀíÆ÷£¬struct sigactionÊý¾ÝÊÇÓÃÀ´±£´æÐźŴ¦ÀíÆ÷µÄÏà¹ØÐÅÏ¢¡£¡¡¡¡¡¡¡¡#include¡¡¡¡int sigemptyset(sigset_t *set);¡¡¡¡½«Ðźż¯ºÏÇå¿Õ¡£¡¡¡¡int sigfillset(sigset_t *set);¡¡¡¡½«Ðźż¯ºÏÉèÖóɰüº¬ËùÓеÄÐźš£ÔÚ¶ÔÐźŽøÐвÙ×÷ÒÔÇ°Ò»¶¨Òª¶ÔÐźż¯½øÐгõʼ»¯¡£¡¡¡¡¡¡¡¡int sigaddset(sigset_t *set, int signo);¡¡¡¡ÏòÐźż¯ÖмÓÈësigno¶ÔÓ¦µÄÐÂÐźš£¡¡¡¡int sigdelset(sigset_t *set, int signo);¡¡¡¡´ÓÐźż¯ÖÐɾ³ýsigno¶ÔÓ¦µÄÒ»¸öÐźš£¡¡¡¡int sigismember(const sigset_t *set, int signo);¡¡¡¡ÅжÏij¸öÐźÅÊÇ·ñÔÚÐźż¯ÖС£·µ»Ø1ÔòÔÚ£¬0Ôò²»ÔÚ¡£¡¡¡¡¡¡¡¡#include¡¡¡¡int sigprocmask(int how,const sigset_t *set, sigset_t *oset);ÓÃÀ´ÉèÖýø³ÌµÄÐźÅÆÁ±ÎÂë¡£ÐźÅÆÁ±ÎÂë¿ÉÒÔÓÃÀ´ÔÚij¶Îʱ¼äÄÚ×èÈûһЩÐźż¯ÖеÄÐźţ¬Èç¹ûÐźŲ»ÔÚÐźż¯ÖУ¬¾Í²»±ØÌÖÂÛËü£¬ÒòΪ¿Ï¶¨²»ÏìÓ¦£¬ÊÇ·ñÄÜÉú³ÉÒ²²»¿Ï¶¨£¬ÎÒûÓÐ×ö¹ýÊÔÑé¡£¡¡¡¡¡¡¡¡1£®2ÎÒËùÀí½âµÄʹÓÃÐźŻúÖƵķ½·¨£º¡¡¡¡Ê¹ÓÃÐźţ¬Ö÷Òª×öµÄÊÂÇé¾ÍÊÇÐźŴ¦ÀíÆ÷µÄ¹¤×÷£¬ÕâÀïÃæÊÇÄãÏë×öµÄÊÂÇé¡£¾ÍÏñÖжϴ¦Àíº¯ÊýÒ»Ñù¡£¡¡¡¡¡¡¡¡ÔÚʹÓÃÐźÅÒÔÇ°£¬Ê×ÏÈÒª³õʼ»¯Ðźż¯£¬Ö»ÓÐÔÚÐźż¯ÀïÃæµÄÐźŲŻᱻ¿¼ÂÇ¡£¡¡¡¡¡¡¡¡ÓÐÁ½ÖÖ·½·¨¿ÉÒÔ³õʼ»¯Ðźż¯£¬Ò»ÖÖÊÇÉèÖÿÕÐźż¯£¬Ò»ÖÖÊǽ«ËùÓеÄÐźŶ¼¼Óµ½Ðźż¯ÖС£Èç¹ûÄã×Ô¼ºÏëÒªµÄÐźż¯²»ÊÇÕâÁ½ÖÖ£¬¿ÉÒÔÔÚ³õʼ»¯ÁËÒÔºóͨ¹ýÌí¼ÓºÍɾ³ýÐźŽøÐж¨ÖÆ¡£¡¡¡¡¡¡¡¡Èç¹ûÔÚ½ø³ÌÖ´ÐеÄÒ»¶Îʱ¼äÄÚ²»Ïë¶ÔijЩÐźŽøÐÐÏìÓ¦£¬Ôò¿ÉÒÔʹÓÃsigprocmask¶Ôµ±Ç°µÄÐźż¯ÖеÄһЩÐźŽøÐÐ×èÈû£¬ÉÔºóÔÙÖ´ÐС£¡¡¡¡¡¡¡¡µ±Ä㽫Ðźż¯ÉèÖÃÍê±Ïºó£¬ÔÚÈÃËû¹¤×÷֮ǰÐèÒª°²×°ÐźŴ¦ÀíÆ÷¡£°²×°ÐźŴ¦ÀíÆ÷¿ÉÒÔʵÏÖÕ⼸¸ö¹¦ÄÜ£º¡¡¡¡¡¡¡¡Ö¸¶¨ÐźŴ¦Àíº¯ÊýµÄÈë¿Ú£»Ö¸¶¨ÐźÅÆÁ±Î¼¯ºÏ£»Ö¸¶¨ÐźŴ¦ÀíÆ÷µÄһЩ±êÖ¾¡£ËùνÐźŴ¦ÀíÆ÷£¬¾ÍÊÇÖ¸¶¨ÁËһЩ´¦Àí·½·¨£¬¹Ø¼üÔÚÓÚ°²×°ÐźŴ¦ÀíÆ÷£¬ÕâÊÇʹÕýÈ·µÄÐźŽøÐÐÕýÈ·µÄ´¦Àí¹Ø¼ü¡£ÔÚ°²×°µÄʱºò£¬Ò»¶¨Òª¶ÔÌض¨µÄÐźŸ³ÓèÕýÈ·µÄÐźŴ¦Àíº¯Êý¡£¡¡¡¡¡¡¡¡ÎÒ²»ÖªµÀ²»Í¬½ø³ÌÖ®¼äµÄÐźŴ¦ÀíÆ÷ÄÜ·ñ»ìÓ㬵«ÊÇÏñÒ»¸öÌض¨µÄ½ø³ÌÖÐÓжàÉÙ¸öÐźŴ¦ÀíÆ÷ÕâÑùµÄÎÊÌâÊDz»ÄÜÌáµÄ¡£ÒòΪÐźŴ¦ÀíÆ÷ÊÇÒ»¸ö¸ÅÄËûÕë¶ÔµÄÊÇÐźţ¬¾ÍÊÇ˵Èç¹ûÄãÖ¸¶¨ÁËÒ»¸öÊý¾Ý½á¹¹£¬ÓÃËüÀ´´æ´¢Õë¶Ôij¸öÐźŵĴ¦ÀíÐÅÏ¢£¬ÄÇô°²×°ÐźŴ¦ÀíÆ÷¾ÍÊǸ³ÓèÕâ¸öÊý¾Ý½á¹¹Ò»Ð©Ïà¹ØÐÅÏ¢£¬Ê¹ÓÃÐźŴ¦ÀíÆ÷¾ÍÊÇÓÃÕâ¸öÊý¾Ý½á¹¹´æ´¢µÄÐÅÏ¢À´×éÖ¯Ò»ÖÖ»úÖƵ±·¢ÉúÕâ¸öÐźŵÄʱºò»á×öһЩÄãʵÏÖÉèÖúõĴ¦Àí¡£µ«ÊÇÈç¹ûÇø·Ö²»Í¬½ø³ÌÖжÔͬһ¸öÐźŵIJ»Í¬´¦ÀíÆ÷£¿ÎÒÏë´¦ÀíÆ÷¿ÉÄÜÖ»¶ÔºËËüËùÊôµÄ½ø³ÌÓйصÄÐźŽøÐÐÏìÓ¦£¬µ«ÊÇÈç¹ûÊÇÕâÑùµÄ»°£¬ÄÇÕâÊÇÔõôʵÏÖµÄÄØ£¿¡¡¡¡¡¡¡¡²»¹ýÓÐÒ»µãÊÇ¿ÉÒÔÖªµÀµÄ£¬ÄǾÍÊÇÿһ¸öÐźŶ¼ÓÐÒ»¸öÐźŴ¦ÀíÆ÷£¨È·¶¨µÄ£©£¬¿ÉÒÔ¶¯¹ý°²×°ÐźŴ¦ÀíÆ÷À´Ö¸¶¨ËýµÄÐÐΪ¡£ÐźŴ¦ÀíÆ÷ÓÉËû×Ô¼ºµÄÐÅÏ¢´æ´¢ÇøÓò£¨ÎÒ²»ÖªµÀÔÚʲôµØ·½£©£¬µ«ÊÇ¿ÉÒÔͨ¹ýÏòsigactionÀàÐ͵ÄÊý¾Ý½á¹¹ÏòÐźŴ¦ÀíÆ÷µÄÐÅÏ¢´æ´¢ÇøÓòÖд«µÝÐÅÏ¢¡£Õâ¸öÊý¾Ý½á¹¹ÓÉÒ»¸ö¾Í¿ÉÒÔÁË£¬ÒòΪËüÖ»ÊÇÁÙʱ´«µÝÊý¾ÝµÄÔØÌå¡£¡¡¡¡¡¡¡¡µ«ÊÇsigpromaskºÍÐźŴ¦ÀíÆ÷ÀïÃæµÄsigmaskÊDz»Ò»ÑùµÄ£¬Ç°ÕßÊÇÔÚ½ø³Ìµ±Ç°Á÷³ÌÉèÖÃÐźÅÆÁ±Î£¬ºóÕßÊÇÖ¸¶¨ÔÚÐźŴ¦ÀíÆ÷×÷ÓÃʱÐèÒªÆÁ±ÎµôµÄÐźš£ÀýÈ磬ÔÚÉèÖÃij¸öÌض¨ÐźŵÄÐźŴ¦ÀíÆ÷ʱ£¬ÎÒÃǵ±È»²»ÄÜÈÃËüµÄÐźŴ¦ÀíÆ÷¹¤×÷ÁË£¬ÒòΪ»¹Ã»ÓÐÉèÖÃÍêÂð£¬ÕâÊÇÎÒÃÇ¿ÉÒÔʹÓÃsigprocmaskÀ´Èõ±Ç°µÄÁ÷³Ì¿ªÊ¼×èÈû¸ÃÐźţ¬µ±ÉèÖÃÍêÐźŴ¦ÀíÆ÷ÒÔºó£¬ÔÙÓÃsigprocmask»Ö¸´±»×èÈûµÄÐźš£¶øÒÔºóÔÙ½ÓÊÕµ½¸ÃÐźÅʱ£¬ÐźŴ¦ÀíÆ÷¾Í¿ÉÒÔ¹¤×÷ÁË¡£¡¡¡¡¡¡¡¡ÎÒµÄÏë·¨ÊÇ£¬Í¬Ò»¸öÐźÅÔÚ²»Í¬µÄ½ø³ÌÀï¿ÉÒÔÓв»Í¬µÄÐźŴ¦ÀíÆ÷£¨Ò»°ãÓ¦¸ÃÓÐÒ»¸öȱʡ´¦Àí£©£¬µ±ÏµÍ³Öз¢ÉúÒ»¸öÐźÅʱ£¬ËùÓÐÄܽÓÊܵ½µÄ½ø³Ì¶¼¿ÉÒÔ½ÓÊÕµ½Õâ¸öÐźţ¬²¢ÓÃËûÃÇ×Ô¼ºµÄÐźŴ¦ÀíÆ÷¶ÔÕâ¸öÐźÅ×ö³ö¸÷×ÔµÄÏìÓ¦¡£¡¡¡¡¡¡¡¡1£®3ÈçºÎÓÃÐźÅÀ´½øÐнø³Ì¼äµÄͬ²½¡¡¡¡Í¬²½µÄʵÏÖÖ÷ÒªÊÇͨ¹ýÔÚ½ÓÊÜÐźÅ֮ǰ¹ÒÆð½ø³Ì£¬µÈ´ýÏà¹ØÐźš£ËùÒÔÉæ¼°µ½Òì²½ÐźŰ²È«º¯ÊýµÄ¸ÅÄî¡£¡¡¡¡¡¡¡¡²»¹ýÐźÅÈçºÎÀ´ÊµÏÖ½ø³Ì¼äµÄ»¥³â£¬ÎÒÀí½â²»ÊǺܶ࣬ÎÒÏëÐźŵÄÖ÷ÒªÓô¦»¹ÊÇÔÚÈíÖжϴ¦ÀíºÍ½ø³Ìͬ²½¡£¡¡¡¡¡¡¡¡2£®ÐźÅÁ¿¡¡¡¡ÐźÅÁ¿ºÍÐźÅÊDz»Í¬µÄ¶«Î÷£¬×ÐϸÏëÏë¾Í¿ÉÒÔÀí½â£ºÐźÅÊÇʵÏÖÔ¼¶¨µÄ¹Ì¶¨µÄÖµ£¬¶øÐźÅÁ¿ÊÇÒ»¸ö±äÁ¿¼Ç¼×ÅijЩÌض¨ÐÅÏ¢¡£¡¡¡¡¡¡¡¡ÐźÅÁ¿ÕâÖÖ¶«Î÷ÎÒÃÇÔÚ²Ù×÷ϵͳ¿Î³ÌÖоÍÒѾ­½Ó´¥¹ýÁË£¬ÕâÀïÖ»ÊÇÔٲݲÝ˵¼¸¾ä¡£ÐźÅÁ¿·ÖΪÓÐÃûºÍÎÞÃûÁ½ÖÖ¡£½ø³Ì¼äͨÐÅÓÃÓÐÃûÐźÅÁ¿£¬Í¬Ò»½ø³ÌÄÚ²¿Í¨ÐÅÒ»°ãÓÃÎÞÃûÐźÅÁ¿¡£Õâ¸öÎÒ²»ÔÙ¶à˵¡£¡¡¡¡2£®1ÐźÅÁ¿Ïà¹Øº¯Êý¡¡¡¡#include¡¡¡¡#include¡¡¡¡#include¡¡¡¡int semget(key_t key, int nsems, int semflg);¡¡¡¡´´½¨Ò»¸öеÄÐźÅÁ¿×é»ò»ñÈ¡Ò»¸öÒѾ­´æÔÚµÄÐźÅÁ¿×é¡£¡¡¡¡¡¡¡¡#include¡¡¡¡#include¡¡¡¡#include¡¡¡¡int semop(int semid, struct sembuf *sop, int nsops);¡¡¡¡semopº¯Êý¿ÉÒÔÒ»´Î¶ÔÒ»¸ö»ò¶à¸öÐźÅÁ¿½øÐвÙ×÷¡£¡¡¡¡Int semctl(int sem_id, int semnum, int cmd,/*union semun arg*/¡­);¡¡¡¡¸Ãº¯Êý¿ÉÒÔÓÃÀ´»ñȡһЩÐźÅÁ¿µÄʹÓÃÐÅÏ¢»òÕßÊÇÀ´¶ÔÐźÅÁ¿½øÐпØÖÆ¡£¡¡¡¡¡¡¡¡2£®2ÎÒ¶ÔÐźÅÁ¿»úÖƵÄÀí½â¡¡¡¡¶ÔÐźÅÁ¿µÄ²Ù×÷Ö»ÓÐÁ½¸ö£ºP, V¡£ÎªÁËÔÚÂß¼­ÉϱãÓÚ×éÖ¯ÐźÅÁ¿£¬ÐźÅÁ¿»úÖÆÖÐÓÐÒ»¸ö¸ÅÄîÊÇÐźÅÁ¿×é¡£ÎÒÃÇ¿ÉÒÔ°ÑÒ»¸öÐźÅÁ¿×éÖд´½¨Ïà¹ØµÄÐźÅÁ¿£¬ÕâÑùÂß¼­ÉÏÇåÎúÒ²±ãÓÚ¹ÜÀí¡£ÔÚʹÓÃ֮ǰÄãͬÑùÐèÒª¶ÔËûÃǽøÐгõʼ»¯£ºÉú³É»ò´ò¿ªÐźÅÁ¿×飬ÏòÆäÖÐÉú³É»òɾ³ýÄãÖ¸¶¨µÄÐźÅÁ¿¡£¡¡¡¡¡¡¡¡¶ÔÐźÅÁ¿µÄ²Ù×÷Ö»ÓÃÁ½ÖÖ£¬Ëû¶¼ÊÇͨ¹ýsemopº¯ÊýÖеÄsops²ÎÊýÀ´Ö¸¶¨µÄ£¬Èç¹ûÕâ¸ö²ÎÊýÊÇÒ»¸öÊý×éµÄ»°£¬ÄÇô¾ÍÊǶԶà¸öÐźÅÁ¿½øÐвÙ×÷¡£Sops²ÎÊýÖеÄsem_op×Ö¶ÎÖ¸Ã÷Á˶ÔÐźÅÁ¿½øÐеÄÊÇP²Ù×÷»¹ÊÇV²Ù×÷¡£ÄãÖ»ÒªÖ¸¶¨¾ÍÐÐÁË£¬¾ßÌåµÄ²Ù×÷²»ÐèÒªÄãȥʵÏÖ£¬º¯ÊýÖж¼ÒѾ­ÌṩÁË¡£Ê¹ÓÃÐźÅÁ¿£¬ÄãµÃÇå³þÐźÅÁ¿×éidºÍÐźÅÁ¿ÔÚÐźÅÁ¿×éÖеÄλÖã¨ÆäʵҲ¾ÍÊÇÁíÒ»¸öid£©¡£Ò»¸öÐźÅÁ¿±ØÐëÊôÓÚÒ»¸öÐźÅÁ¿×飬·ñÔò²»Äܱ»ÏµÍ³ËùʹÓá£Çмǣ¡ÐźÅÁ¿ºÍÐźÅÁ¿×éÊDz»»á±»ÏµÍ³Ëù×Ô¶¯ÇåÀíµÄ£¬ËùÒÔµ±ÄãµÄ½ø³ÌÍ˳öÇ°£¬Ç§Íò±ðÍüÁËÇåÀíÄãÉú³ÉµÄÄÇЩÐźÅÁ¿ÃÇ¡£¡¡¡¡¡¡¡¡ÐźÅÁ¿¼È¿ÉÒÔʵÏÖ»¥³â£¬Ò²¿ÉÒÔʵÏÖͬ²½£¬ÕâÀï¾Í²»ËµÁË£¬²Ù×÷ϵͳ¿Î³ÌÖÐÊÇÓнéÉܵġ£¡¡¡¡¡¡¡¡3£®ÏûÏ¢¶ÓÁС¡¡¡ÏûÏ¢¶ÓÁÐÊDZȽϸ߼¶µÄÒ»ÖÖ½ø³Ì¼äͨÐÅ·½·¨£¬ÒòΪËüÕæµÄ¿ÉÒÔÔÚ½ø³Ì¼ä´«ËÍmassege£¬Äã´«ËÍÒ»¸ö"I seek you"¶¼¿ÉÒÔ¡£¡¡¡¡¡¡¡¡Ò»¸öÏûÏ¢¶ÓÁпÉÒÔ±»¶à¸ö½ø³ÌËù¹²Ïí£¨IPC¾ÍÊÇÔÚÕâ¸ö»ù´¡ÉϽøÐеģ©£»Èç¹ûÒ»¸ö½ø³ÌµÄÏûϢ̫¶àÒ»¸öÏûÏ¢¶ÓÁзŲ»Ï£¬Ò²¿ÉÒÔÓöàÓÚÒ»¸öµÄÏûÏ¢¶ÓÁУ¨²»¹ý¿ÉÄܹÜÀí»á±È½Ï¸´ÔÓ£©¡£¹²ÏíÏûÏ¢¶ÓÁеĽø³ÌËù·¢Ë͵ÄÏûÏ¢ÖгýÁËmassege±¾ÉíÍ⻹ÓÐÒ»¸ö±êÖ¾£¬Õâ¸ö±êÖ¾¿ÉÒÔÖ¸Ã÷¸ÃÏûÏ¢½«ÓÉÄĸö½ø³Ì»òÕßÊÇÄÄÀà½ø³Ì½ÓÊÜ¡£Ã¿Ò»¸ö¹²ÏíÏûÏ¢¶ÓÁеĽø³ÌÕë¶ÔÕâ¸ö¶ÓÁÐÒ²ÓÐ×Ô¼ºµÄ±êÖ¾£¬¿ÉÒÔÓÃÀ´ÉùÃ÷×Ô¼ºµÄÉí·Ý¡£¡¡¡¡¡¡¡¡¶ÔÓÚϵͳÖеÄÿһ¸öÏûÏ¢¶ÓÁУ¬¶¼ÓÐÒ»¸öÊý¾Ý½á¹¹À´´ú±íËü£¬Õâ¸öÊý¾Ý½á¹¹ÊÇmsqid_ds£¬ÕâÀïÂÔÈ¥²»½²£¬ÔÚÖпÉÒÔ¿´µ½ËüµÄÔ­ÐÍ¡£¡¡¡¡¡¡¡¡3£®1ÏûÏ¢¶ÓÁÐÏà¹Øº¯Êý¡¡¡¡Ê¹ÓÃÏûÏ¢¶ÓÁÐ֮ǰ£¬ÄãҪô»ñµÃÕâ¸öÏûÏ¢¶ÓÁУ¬ÒªÃ´×Ô¼º½¨Á¢Ò»¸ö£¬·ñÔòÊDz»ÄÜʹÓÃÏûÏ¢¶ÓÁеģ¨ÎÒ¾õµÃÕⶼÏñÊǶàÓàµÄ»°£¬Çë¼ûÁ£©¡£µ±Õâ¸öÏûÏ¢¶ÓÁв»ÔÙʹÓÃʱ£¬Ò²Ò»¶¨ÒªÓÐÒ»¸ö½ø³ÌÀ´É¾³ýÏûÏ¢¶ÓÁУ¬ÏµÍ³ÊDz»»á×Ô¶¯µÄÇåÀíÏûÏ¢¶ÓÁкÍmsgid_dsµÄ¡£¡¡¡¡¡¡¡¡Int msgget(key_t key, int msgflg);»ñÈ¡Ò»¸ö´æÔÚµÄÏûÏ¢¶ÓÁеÄID£¬»òÕßÊǸù¾Ý¸ú¶¨µÄȨÏÞ´´½¨Ò»¸öÏûÏ¢¶ÓÁС£µ«ÊÇÔõôÑùȥɾ³ýÕâ¸öÏûÏ¢¶ÓÁУ¬ÎÒ»¹²»Ê®·ÖÇå³þ¡£¡¡¡¡Int msgctl(int msqid, int cmd, struct msqid_ds *buf);ÓÃÀ´´Ómsqid_dsÖлñÈ¡ºÜ¶àÏûÏ¢¶ÓÁб¾ÉíµÄÐÅÏ¢¡£¡¡¡¡Int msgsnd(int msqid, void *msgp, size_t msgsz, int msgflg);ÓÃÓÚÏò¶ÓÁз¢ËÍÏûÏ¢¡£¡¡¡¡Int msgrcv(int msqid, void *msgp, size_t msgsz, long int msgtyp, intmsgflg);¡¡¡¡´Ó¶ÓÁÐÖнÓÊÕÏûÏ¢¡£¡¡¡¡ÎÒÕâ¸öÎĵµÀïÃæ¶ÔÏûÏ¢¶ÓÁÐÖеÄһЩÁÙ½çÇé¿öËùÊö²»¶à£¬ÒòΪÕâÊÇÎÒµÄС½á£¬¶ø·Ç½éÉÜ¡£ÔÚGNU C¿â¼¼ÊõÖпÉÒÔ¿´µ½ËüµÄÏêϸ½éÉÜ¡£
[1] [2] ÏÂÒ»Ò³ 

£¨³ö´¦£ºhttp://www.sheup.com£©


ÉÏÒ»Ò³ [1] [2]