1 / 14
文档名称:

管道通信机制和消息缓冲机制.docx

格式:docx   大小:239KB   页数:14页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

管道通信机制和消息缓冲机制.docx

上传人:fangjinyan2017001 2020/8/23 文件大小:239 KB

下载得到文件列表

管道通信机制和消息缓冲机制.docx

文档介绍

文档介绍:实验题目管道通信机制和消息缓冲机小组合作否制姓名班级学 号一、实验目的1、理解和掌握管道通信机制中使用的系统调用命令的格式和如何利用系统调用命令进行进程通信编程。2、理解和掌握消息缓冲机制中使用的系统调用命令的格式和如何利用系统调用命令进行进程通信编程。、VMwareWorkstation工作平台2、Linux系统三、实验内容与步骤一、管道通信机制1、无名管道的通信(1)创建无名管道的格式#include<sys/>#include<>#include<>intpipe(intfiledes[2]);正确返回:0;错误返回:-1。(2)无名管道pipe()、使用无名管道 pipe()进行父子进程之间的通信源程序代码如下:#include<sys/>#include<>#include<>intpipe(intfiledes[2]);charparent[]="munication.\n";main(){intpid,chan1[2];charbuf[100];pipe(chan1);pid=fork();if(pid<0){printf("tocreatechilderror\n");exit(1);}if(pid>0){close(chan1[0]);printf("parentprocesssendsamessagetochild.\n");write(chan1[1],parent,sizeof(parent));close(chan1[1]);printf("parentprocesswaitsthechildtoterminate.\n");wait(0);printf("parentprocessterminate.\n");}else{close(chan1[1]);read(chan1[0],buf,100);printf("Themessagereadbychildprocessfromparentis:%s.\n",buf);close(0);printf("childprocessterminate\n");}}实验运行结果如图所示:2、以命令行为参数的管道通信(1)命令格式#include<>#include<sys/>#include<>FiLepopen(constcharcmdstring,constchartype);(2)打开一个以命令行为参数的管道文件,、以命令行为参数的管道文件的示例假设有一个可执行程序 chcase,从标准输入设备读字符,将小写字母转换成大写字母并进行输出。 主程序使用popen创建管道,实现将某文本文件中的字母转换成大写字母, 期中的文本文件名作为参数传进来。源程序代码如下:#include<sys/>#include<>#defineMAXLINE100intmain(intargc,char*argv[]){charline[MAXLINE];FILE*fpin,*fpout;if(argc!=2){fprintf(stderr,"usage:<pathname>\n");exit(1);}if((fpin=fopen(argv[1],"r"))==NULL){fprintf(stderr,"can'topen%s\n",argv[1]);exit(1);}if((fpout=popen("/root/LiFang/","w"))==NULL){fprintf(stderr,"popenerror\n");exit(1);}while((fgets(line,MAXLINE,fpin))!=NULL){if(fputs(line,fpout)==EOF){fprintf(stderr,"fputserrortopipe.\n");exit(1);}}if(ferror(fpin)){fprintf(stderr,"fgetserror.\n");exit(1);}if(pclose(fpout)==-1){fprintf(stderr,"pcloseerror.\n");exit(1);}exit(0);}实验运行结果如下图所示:3、有名管道的通信(1)创建一个有名管道的系统调用 mknod()#include<sys/>#include<sys/>#include<>#include<>intmknod(constchar*pathname,mode_tmode,

最近更新

私人借款担保合同风险评估与管理 3页

私人汽车租赁合同:长途自驾旅行租车服务细则.. 3页

科技手册委托印制合同 3页

箱式变压器采购与售后维修合同 3页

绿色住宅委托房屋居间买卖合同 3页

绿色建筑消防通风系统安装工程承包合同范本 3页

绿色环保现浇楼板采购合同范本 2页

绿色金融项目建议书编制与风险控制合同 3页

羊毛绒制品加工企业研发合作协议 3页

肖像权影视制作合同 2页

能源行业劳动合同翻译及环保合规合同 3页

舞台灯光设备销售与维护服务合同 3页

舞蹈教室场地租赁合同包含舞蹈教室场地租赁续.. 3页

航空航天领域高性能五金配件采购协议 3页

芜湖房屋买卖及装修改造一体化服务合同 3页

薪酬保密协议:高科技企业核心团队保障 2页

行政合同争议调解技巧:行政优先权在调解机制.. 3页

2025年校园文化活动总结5篇范本 8页

2025年校园安全宣传演讲范文五篇2025 12页

装配式建筑构件生产土建施工合同范本 3页

西门子运动控制系统与工业4.0平台融合服务合同.. 3页

2025年标准版个人临时车位租赁合同 7页

2025年杭州房屋租赁合同 18页

2025年杭州亚运会女篮对阵表 6页

2025东湖高新教师招聘考试试卷-数学 5页

地勘单位安全生产主体责任清单 6页

JJF2092-2024 射频与微波衰减器校准规范 26页

消化道早癌筛查健康宣教科普ppt 24页

眼科常见疾病中医诊疗规范诊疗指南2023版 27页

水稳层摊铺合同 5页