下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026秋新教材译林版五年级上册英语Unit 1 Good habits 语法讲义+练习题(含答案)
- 2026届仙居县四年级数学第二学期期中考试模拟试题(含解析)
- 国内知名GEO优化服务商排名:2026年TOP3深度评测与选择指南
- 银行业专业人员中级职业资格考试(银行业法律法规与综合能力)模拟试题 (2026年晋城)
- 医学影像技术试题及答案(X线试题)
- 年湖南省环境系统事业单位人员招聘考试题库及答案解析
- 2026学年贵阳市清镇市数学四下期末联考试题含解析
- 江苏省小学音乐教师编制考试试题及答案2026
- 吉林省集安市事业单位考试职业能力倾向测验(中小学教师类D类)强化训练题库及答案
- 河北省高碑店市事业单位考试职业能力倾向测验(中小学教师类D类)强化训练题库及答案
- 2026年大连市城市建设投资集团有限公司招聘41人笔试参考题库及答案详解
- 2026内蒙古呼伦贝尔鄂温克族自治旗伊敏河军粮供应有限责任公司招聘工作人员3人笔试备考试题及答案详解
- 2025广西河池市小微企业融资担保有限责任公司公开招聘3人笔试历年参考题库附带答案详解
- 2026年农业发展银行(湖南省分行)校园招聘笔试参考试题及答案详解
- 交警素质课件
- 数据库应用技术-003-国开机考复习资料
- (10.4)-6.3.1童年回忆蒲公英中药养颜秘籍
- JJG 395-2016定碳定硫分析仪
- GA/T 1162-2014法医生物检材的提取、保存、送检规范
- 政府OA办公自动化系统
- 检测工作的分包管理程序
评论
0/150
提交评论