- 5
- 0
- 约6.42千字
- 约 14页
- 2017-06-16 发布于北京
- 举报
实验题目 管道通信机制和消息缓冲机制 小组合作 否 姓名 班级 学 号 一、实验目的 1、理解和掌握管道通信机制中使用的系统调用命令的格式和如何利用系统调用命令进行进程通信编程。
2、理解和掌握消息缓冲机制中使用的系统调用命令的格式和如何利用系统调用命令进行进程通信编程。 二.实验环境 VMware Workstation工作平台
Linux系统 三、实验内容与步骤 一、管道通信机制
1、无名管道的通信
(1)创建无名管道的格式
#includesys/types.h
#includectype.h
#includeunistd.h
int pipe(int filedes[2]);
正确返回:0;错误返回:-1。
(2)无名管道pipe()的使用
16.1、使用无名管道pipe()进行父子进程之间的通信
源程序代码如下:
#includesys/types.h
#includectype.h
#includeunistd.h
int pipe(int filedes[2]);
char parent[]=A message to pipecommunication.\n;
main()
{
int pid,chan1[2];
char buf[100];
pipe(chan1);
pid=fork();
if(pid0)
{
printf(to create child error\n);
exit(1);
}
if(pid0)
{
close(chan1[0]);
printf(parent process sends a message to child.\n);
write(chan1[1],parent,sizeof(parent));
close(chan1[1]);
printf(parent process waits the child to terminate.\n);
wait(0);
printf(parent process terminate.\n);
}else{
close(chan1[1]);
read(chan1[0],buf,100);
printf(The message read by child process from parent is:%s.\n,buf);
close(0);
printf(child process terminate\n);
}
}
实验运行结果如图所示:
2、以命令行为参数的管道通信
(1)命令格式
#includestdio.h
#includesys/types.h
#includectype.h
FiLe popen(const char cmdstring,const char type);
(2)打开一个以命令行为参数的管道文件,完成进程之间的通信
16.2、以命令行为参数的管道文件的示例
假设有一个可执行程序chcase,从标准输入设备读字符,将小写字母转换成大写字母并进行输出。主程序使用popen创建管道,实现将某文本文件中的字母转换成大写字母,期中的文本文件名作为参数传进来。
源程序代码如下:
#includesys/wait.h
#includestdio.h
#define MAXLINE 100
int main(int argc,char*argv[])
{
char line[MAXLINE];
FILE*fpin,*fpout;
if(argc!=2){
fprintf(stderr,usage:a.outpathname\n);
exit(1);
}
if((fpin=fopen(argv[1],r))==NULL)
{fprintf(stderr,cant open%s\n,argv[1]);
exit(1);
}
if((fpout=popen(/root/LiFang/chcase.exe,w))==NULL)
{
fprintf(stderr,popen error\n);
exit(1);
}
while((fgets(line,MAXLINE,fpin))!=NULL)
{
if(fputs(line,fpout)==EOF){
您可能关注的文档
- 男士护肤品全球十大男士护肤品2015.doc
- 研发项目经理素质模型与任职资格标准.doc
- 研究性学习--高一 (2).doc
- 研究显示尼安德特人或非人类亚种而是独立的物种.docx
- 研究性学习--高一.doc
- 百强商业项目案例之三.doc
- 目前最好的理财产品.doc
- 省道甬临线三门段施工组织设计.doc
- 百汇嘉业传媒总策划张铭峰另类解读影视作品与商战:《墨攻》与“市场竞争、品牌借鉴、广告利弊”.doc
- 知识点045一次函数与二元一次方程和一元一次不等式(组)2011.doc
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- 保障农民工工资支付协调机制和工资预防机制.docx VIP
- (35页PPT)腾讯iOA零信任安全解决方案.pptx
- 供应链管理第章.ppt VIP
- 有机化学醇酚醚.ppt VIP
- 【真题】2025年湖北省公务员考试《申论》试题及答案解析(县乡卷).pdf VIP
- 《2025年人工智能在制造业应用》.docx VIP
- 2018年浙江省杭州市中考科学试卷含答案.docx VIP
- 东北地区自然地理概况课件市公开课一等奖省赛课微课金奖课件.pptx VIP
- Power Up3课后单元测试 - U7 - Unit Test.docx VIP
- EN755-2铝及铝合金挤压杆材,管材及型材 第2部分:机械性能.doc
原创力文档

文档评论(0)