下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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年初级管理会计之专业知识考试题库300道及答案(全优)
- 2026年县乡教师选调考试《教师职业道德》题库100道【真题汇编】
- 2026年房地产经纪协理之房地产经纪操作实务考试题库附参考答案(研优卷)
- 2026年二级建造师之二建水利水电实务考试题库300道附答案(精练)
- 2026年初级经济师考试题库附参考答案(能力提升)
- 2026年消防设施操作员之消防设备高级技能考试题库300道含完整答案【考点梳理】
- 2025广西河池市南丹县消防救援大队招7人考试核心题库及答案解析
- 2025广西百色市乐业县专业森林消防救援队伍招聘13人备考核心试题附答案解析
- 2025年济宁梁山县第二批退役士兵专项公益性岗位选岗笔试重点试题及答案解析
- 2026年随州职业技术学院单招职业技能测试题库附答案
- 2025云南省人民检察院招聘22人笔试考试备考试题及答案解析
- 2026年湖南中医药高等专科学校单招职业技能测试题库新版
- 骏马奔腾启新程盛世华章谱未来-2026年马年学校元旦主持词
- 剪刀式登高车专项施工方案
- 22863中级财务会计(一)机考综合复习题
- 安庆师范学院论文格式
- 专业技术指导委员会工作总结报告
- 2025-2030智慧消防系统远程监控平台与城市火灾防控效果规划研究
- 医疗器械经营企业培训试卷及答案
- 27米三角形屋架设计
- 2025年大学《老挝语》专业题库-老
评论
0/150
提交评论