作家
登录

Linux进程间通信——使用消息队列

作者: 来源: 2017-06-19 15:49:28 阅读 我要评论

"end", 3) == 0)   
  •  
  •             running = 0;   
  •  
  •     }   
  •  
  •     //删除消息队列   
  •  
  •     if(msgctl(msgid, IPC_RMID, 0) == -1)   
  •  
  •     {   
  •  
  •         fprintf(stderr, "msgctl(IPC_RMID) failed\n");   
  •  
  •         exit(EXIT_FAILURE);   
  •  
  •     }   
  •  
  •     exit(EXIT_SUCCESS);   
  •  
  • }    
  • 发送信息的法度榜样的源文件msgsend.c的源代码为:

    1. #include <unistd.h>   
    2.  
    3. #include <stdlib.h>   
    4.  
    5. #include <stdio.h>   
    6.  
    7. #include <string.h>   
    8.  
    9. #include <sys/msg.h>   
    10.  
    11. #include <errno.h>   
    12.  
    13.    
    14.  
    15. #define MAX_TEXT 512   
    16.  
    17. struct msg_st   
    18.  
    19. {   
    20.  
    21.     long int msg_type;   
    22.  
    23.     char text[MAX_TEXT];   
    24.  
    25. };   
    26.  
    27.    
    28.  
    29. int main()   
    30.  
    31. {   
    32.  
    33.     int running = 1;   
    34.  
    35.     struct msg_st data;   
    36.  
    37.     char buffer[BUFSIZ];   
    38.  
    39.     int msgid = -1;   
    40.  
    41.    
    42.  
    43.     //建立消息队列   
    44.  
    45.     msgid = msgget((key_t)1234, 0666 | IPC_CREAT);   
    46.  
    47.     if(msgid == -1)   
    48.  
    49.     {   
    50.  
    51.         fprintf(stderr, "msgget failed with error: %d\n", errno);   
    52.  
    53.         exit(EXIT_FAILURE);   

        推荐阅读

        Windows 10 Build 16215带来的11大Fall Creators Update最佳功能_IT技术周刊第506期

      【义务编辑:刘晶晶 TEL:(010)68476606】 >>>详细阅读


      本文标题:Linux进程间通信——使用消息队列

      地址:http://www.17bianji.com/lsqh/35826.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)