![2023年操作系统实验报告实验五_第1页](http://file4.renrendoc.com/view/d07e84653176aa44e240e2dee4e1cc1c/d07e84653176aa44e240e2dee4e1cc1c1.gif)
![2023年操作系统实验报告实验五_第2页](http://file4.renrendoc.com/view/d07e84653176aa44e240e2dee4e1cc1c/d07e84653176aa44e240e2dee4e1cc1c2.gif)
![2023年操作系统实验报告实验五_第3页](http://file4.renrendoc.com/view/d07e84653176aa44e240e2dee4e1cc1c/d07e84653176aa44e240e2dee4e1cc1c3.gif)
![2023年操作系统实验报告实验五_第4页](http://file4.renrendoc.com/view/d07e84653176aa44e240e2dee4e1cc1c/d07e84653176aa44e240e2dee4e1cc1c4.gif)
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验五:管道通信实验内容:.阅读以下程序:inc1ude<unistd.h>inc1ude<stdio.h>incIude<stdlib.h>main()(intfiledes[2];charbuffer[80];if(pipe(filedes)<0)//建立管道,filedes[0]为管道里的读取端,filedes[1]则为管道的写入端//成功则返回零,否则返回・1,错误因素存于errno中err_quit(/zpipeerror");f(fork()>0){chars[]=Mhello!\n”;c1ose(filedes[0]);//关闭filedes[0]文献write(filedes[l],s,sizeof(s)):〃s所指的内存写入到fi1edes[1]文献内close(filedes[1]);//关闭filedes⑼文献}else{close(filedes[l]);read(fiIedes[0],buffec80);//把filedes⑼文献传送80个字节到buffer缓冲区内printf("%s”,buffer);close(fi1edes[0]);编译并运营程序,分析程序执行过程和结果,注释程序重要语句。#include<unistd.h>#include<stdio.h>/Include<stdltb.h>main()(tntftledes[2];charbuffer[80];if(ptpe(filedes)<0)//err_quit(,,pipeerrorw);printf("pipeerror");if(fork()>0){chars[]="hello!\n";close(filedes[0]);write(filedes[l],s,sizeof(s));close(filedes[l]);}else{close(ftledes[l]);read(filedes[O],buffer,80);printfbuffer);close(ftledes[0]);))user@ubuntu:->vi5-1.cuser@ubuntu:-$gcc5-1.c-o5-1user@ubuntu:~$~/5-lhello!user@ubuntu:-$-/5-lhello!use「@ubuntu:~$,.阅读以下程序:include<sys/types.h>inc1ude<sys/stat.h>incIude<fcntl.h>main()charbuffer[80];intfd;un1ink(FIFO);〃删除FIFO文献mkfifo(FlFO,0666);I3//FIF0是管道名,0666是权限if(fork()>0){chars[]="he1lo!\n";fd=open(FIFO,O_WRONLY);//以只写方式打开文献F1FOwrite(fd,s/sizeof(s));//把字符数组s的内存写入sizeof(s)个字节到参数fd所指的文献内close(fd);〃关闭该文献,dose()会让数据写回磁盘,并释放该文献所占用的资源}e1se{fd=open(FIFO,O_RDONLY);read(fd,buffer,80);printf("%s〃,buffer);c1ose(fd);)编译并运营程序,分析程序执行过程和结果,注释程序重要语句。#tnclude<stdto.h>#tnclude<sys/types.h>#include<sys/stat.h>#tnclude<fcntl.h>main(){charbuffer[80];intfd;unlink(M5-2M);mkfifo(H5-2H,0666);〃FIFO:5-2是管道名,0666是权限tf(fork()>0){chars[]="hello!\nM;fd=open(H5-2M,O_WRONLY);wrtte(fd,s,sizeof(s));close(fd);}else{fd=open("5-2H,0_RD0NLY);read(fd,buffer,80);printf(H%sH,buffer);close(fd);))user@ubuntu:-$gcc5-2.c-o5-2user@ubuntu:~$~/5・2hello!use「@ubuntu:~$,.阅读以下程序:#include<stdio.h>main()FILE*fp;charbuffer[80];fp=popen(Mcat/etc/passwd","r");/*调用fork。产生子进程,然后从子进程中调用/bin/sh-c来执行cat/etc/passwd。参数代表读取,popen()会建立管道连到子进程的标准输出设备或标准输入设备,然后返回一个文献指针。*/fgets(buffer,sizeoffbuffer),fp);〃从fp文献中读取sizeof(buffer)-1个字符到bufferprintf("%s”,buffer);pc1ose(fp);//关闭文献fp)编译并运营程序,分析程序执行过程和结果,注释程序重要语句。#include<stdio.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度新能源汽车充电桩安装承包合同
- 2025年度生物制药工艺保密协议
- 2025年血液灌流吸附器项目建议书
- 2025年度海上石油钻井平台运输与维护服务合同
- 品牌创新过程中的团队协作计划
- 仓库退货管理的改进方案计划
- 主管工作总结的绩效任务安排计划
- 志愿者活动中的个人成长计划
- 市场营销活动的经验与教训计划
- 2025年种植施肥机械项目建议书
- 2023年政府采购评审专家考试真题及答案
- 云端数据加密与密钥管理解决方案
- 毒麻药品试题答案
- 《公路桥涵养护规范》(5120-2021)【可编辑】
- 2023年中国(安徽)大学生茶文化创新大赛试题库
- 医疗器械专业知识培训课件
- 传统体育养生学
- 锂离子电池简介课件
- DB4401∕T 33-2019 电梯托管标准化管理规范
- 医院物业(保洁)技术服务投标方案
- 射线数字成像(DR)技术课件
评论
0/150
提交评论