msg_port_full
来源:互联网 发布:淘宝卖面膜怎么样 编辑:程序博客网 时间:2024/06/15 03:57
#include <sys/types.h>#include <sys/msg.h>#include <unistd.h>#include <stdio.h>#include <stdlib.h>#include <sys/ipc.h>#include <string.h>#include <signal.h>struct msg_buf { int mtype; char data[255]; }; int main(){ key_t key; pid_t pid; int msgid; int ret; struct msg_buf msgbuf; struct msg_buf msgbuf1; struct msg_buf msgbuf2; struct msg_buf msgbuf3; int i = 0; key=ftok(".",'a'); printf("key =[%x]\n",key); msgid=msgget(key,IPC_CREAT|0666); /*通过文件对应*/ if(msgid==-1) { printf("create error\n"); return -1; } if((pid = fork()) < 0) { perror("fork error"); exit(0); } if( pid > 0) { msgbuf1.mtype = 1; strcpy(msgbuf1.data,"test haha1"); msgbuf2.mtype = 2; strcpy(msgbuf2.data,"test haha2"); msgbuf3.mtype = 3; strcpy(msgbuf3.data,"test haha3"); ret=msgsnd(msgid,&msgbuf1,sizeof(msgbuf1.data),IPC_NOWAIT); if(ret==-1) { printf("send message err\n"); return -1; } //sleep(3); ret=msgsnd(msgid,&msgbuf2,sizeof(msgbuf2.data),IPC_NOWAIT); if(ret==-1) { printf("send message err\n"); return -1; } // sleep(3); ret=msgsnd(msgid,&msgbuf3,sizeof(msgbuf3.data),IPC_NOWAIT); if(ret==-1) { printf("send message err\n"); return -1; } // sleep(3); // kill(pid,SIGSTOP); waitpid(pid,NULL,0); exit(0); } if( pid == 0) { while(i < 3) { i++; memset(&msgbuf,0,sizeof(msgbuf)); ret=msgrcv(msgid,&msgbuf,sizeof(msgbuf.data),i,0); if(ret==-1) { printf("recv message err\n"); return -1; } printf("recv msg =[%s]\n",msgbuf.data); sleep(1); } exit(0); } return 0;}
0 0
- msg_port_full
- msg_port_full
- 设计模式六大原则(转)
- Spring事务管理
- iOS 开发 二维码生成大全(黑白/彩色二维码和带图片的二维码)详解
- spark analysis practice
- AspectJ Cookbook : 第一个 AspectJ 小栗子
- msg_port_full
- RPC
- gdb调试C/C++程序
- hdu 1166 敌兵布阵 区间和
- Eclipse在使用Jface关于org.eclipse.core.runtime包导入之后项目依然报错的问题
- [iOS tableViewCell 复用] xib自定义cell 修改cell中按钮状态 出现按钮状态被复用
- java代码使用ftp上传图片失败的一个问题
- 正确方法将电子书放到Kindle的documents文件夹,还是看不了书?
- 媒体捕捉 - AVCaptureSession