下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、操作系统原理A实验报告学生姓名: 陶浩 学 号:班级:惠普测试171 实验名称:实验3 进程的创建与控制(2)实验指导教师: 葛艳 (二)进程的控制一、实验目的 1. 掌握在子进程中使用execl()执行系统命令或调用已编译的其他可执行程序。 2. 掌握父进程通过创建子进程完成某项任务的方法。 3. 掌握系统调用exit()和_exit()的使用。二、实验内容 1.运行程序exit1.c(p32页),把运行结果截图。再把_exit(0)换为exit(0),运行程序,把运行结果截图。 (1)分析修改前后运行结果出现的差异。(2)分析exit(0)和_exit(0)的区别。 2.先编译运行下面的h
2、ello.c程序,然后在编译运行程序exec.c,把运行结果截图。分析为什么子进程的最后两条语句(用红颜色标注)没有输出。 hello.c #include main() printf(“In hello.c, ID=%dn”,getpid(); printf(“hellon); exec.c #include #include #include main() int p; p=fork(); if (p0) printf(In the parentn); wait(0); else printf(“In child, ID=%dn”,getpid(); printf(before execu
3、te execln); execl(./hello,hello,NULL); perror(execl failed to run hello); printf(after execute execln); 三、实验步骤及运行结果分析1.运行程序exit1.c(p32页),把运行结果截图。 再把_exit(0)换为exit(0),运行程序,把运行结果截图。 (1)分析修改前后运行结果出现的差异。当为_exit(0)的时候,运行结果为:this is parent1this is parent2this is parent1this is child first当为exit(0)的时候,运行结果
4、为:this is parent1this is parent2this is parent1this is child firstthis is child second第二个运行结果比较第一个运行结果,多了一行:this is child second(2)分析exit(0)和_exit(0)的区别。_exit()和exit()主要区别是一个直接结束进程进入内核中,一个退出进程会清理I/O缓冲区。分析this is parent1出现了两次,问题是因为printf是有数据缓冲区的,采用的是I/O的方式,不加n数据不刷新,fork()创建子进程,复制了父进程的数据段和堆栈段,包括缓冲区。遇到
5、n换行符自动从缓冲区将记录读出。exit()将缓冲区中的数据写完才能退出来,所以会输出this is child second。而调用_exit()函数后程序直接退出到内核中。2.先编译运行下面的hello.c程序,然后在编译运行程序exec.c,把运行结果截图。分析为什么子进程的最后两条语句(用红颜色标注)没有输出。编译运行程序exec.c分析:execl()函数用来执行参数字符串所代表的文件路径。perror()函数是将一个函数发生的错误原因输出到标准设备stderr(无缓冲,会直接输出)。通常execl函数会放在fork()函数的子进程中,来代替子进程执行,执行成功后子进程就会消失,但是执行失败的话,必须用exit()函数让子进程退出。execl(“./hello”,”hello”,NULL);子进程执行这句代码没有错误,下面的语句不会再执行。execl函数会取代执行它的进程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业财务个人工作总结15篇
- 竞选部长演讲稿集合九篇
- 乡镇学校安全工作总结
- 土木工程实习日记3篇
- 影响和制约宁远教育发展的突出问题
- 部编版历史九年级上册第五单元 第16课《早期殖民掠夺》说课稿
- 五年级数学(小数除法)计算题专项练习及答案汇编
- 雇佣车辆免责协议书(2篇)
- 2025二级注册建造师继续教育机电工程考试题库及答案
- 南京工业大学浦江学院《通信原理》2023-2024学年第一学期期末试卷
- 压疮登记表模板
- 带式输送机传动装置中一级圆柱齿轮减速器设计方案
- 氯化氢合成及盐酸工艺管道施工方案
- AQ-1023-2006煤矿井下低压供电系统及装备通用安全技术要求解析
- 南京旅游职业学院教师招聘考试真题2022
- 生物医药强国战略研究
- 司机入职申请表完整优秀版
- 城中村改造政策
- 文雅教育-步步高小学“六雅路径”整体育人模式探索(尹凤葵)
- 六年级上册语文教案盼|部编版 全省一等奖
- 临床微生物学-变形杆菌属和枸橼酸杆菌属
评论
0/150
提交评论