- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
洛阳师范学院UNIX实验报告-6-2
测试过程:(实验中出现的问题、错误、解决方法)
基本算法思想掌握之后,程序的大体流程可以写出来,
具体的问题,就是有时候会因为对个别函数的参数应用出问题
老师有问必答,全部都给解决了
实验总结:
签名 2012 年 5 月 22 日
评语与成绩:
教师签名:
年 月 日
洛阳师范学院信息技术学院
软件实验报告
专业: 软件工程 课程: UNIX高级编程
学号: 姓名: 班级:
实验名称
进程控制
实验类型
验证型
实验时间
2012-5-22
实验环境
虚拟机下装有linux操作系统的windows操作系统
实验目的与要求:
掌握进程创建、执行、终止的步骤、相关函数;
掌握进程间资源共享,进程间同步关系;
实验内容:
进程创建及执行
参考并调试教材p143程序8-1,理解fork的用法,理解父子进程间的关系,将fork替换为vfork,观察程序输出的不同,并解释原因;
fork与vfork有什么区别?
将程序8-1的标准输出重定向到文件后,为什么write函数输出两次?
参考并调试教材p159程序8-8和程序8-9,掌握不同exec函数的用法,理解其区别;
execlp能够正常执行吗?为什么?;
将程序8-9作为解释器,编写类似p165例子的脚本(只有一行)。
举例说明至少2种脚本的执行方法。
观察脚本执行的输出,说明解释器参数的排列特点。
验证进程终止及同步关系
在程序8-8中,分别安排waitpid或者不安排waitpid,观察程序执行情况;
执行ps命令观察结果
在程序中调用system执行ps命令观察结果。
系统中有僵死进程吗?为什么?
实验步骤:(算法描述、源程序、操作步骤和方法)
1.进程创建及执行
参考并调试教材p143程序8-1,理解fork的用法,理解父子进程间的关系,将fork替换为vfork,观察程序输出的不同,并解释原因;
程序中调用fork函数:
程序中调用vfork函数:
但从运行结果可以看出来,调用fork函数的程序分别在父进程和子进程中输出了pid,glob,var这三个变量。而vfork函数仅仅输出了这三个变量一次。
fork与vfork有什么区别?
Vfork函数的调用序列和返回值与frok相同,但两者的语义不同。
Vfork用于创建一个新进程,而该进程的目的是exec一个新程序。Vfork与fork一样都创建一个子进程,但是它并不将父进程的地址空间完全复制到子进程中,因为子进程会立即调用exec(或exit),于是也就不会存访该地址空间。相反,在子进程调用exec或exit之前,它在父进程的空间中运行。这种优化工作方式在某些unix的也是虚拟存储器实现中提高了效率。
将程序8-1的标准输出重定向到文件后,为什么write函数输出两次?
由于fork函数仅仅是创建一个新进程而已,printf函数在父进程中执行了一次,在子进程中执行了一次,因此输出了两次。
参考并调试教材p159程序8-8和程序8-9,掌握不同exec函数的用法,理解其区别;
本程序使用了两个exec函数execle和execlp
其中execle的第一个参数为绝对路径名
相对的execlp的第一个参数为文件名
这是这两个函数最大的区别。
execlp能够正常执行吗?为什么?;
不能,在8_8程序中,先调用execle,它要求一个路径名和一个特定的环境。下一个调用的是execlp,它用一个文件名,并将调用者的环境传送给新程序。Execlp在这里不能够工作的原因是因为目录/home/lynu/bin不是当前路径。注意,我们将第一个参数设置为路径名的文件名分量。某些shell经此参数设置为完全路径名。
改程序在/home/lunu/bin下面执行,并将第二个参数“echoall”改为本机目录下的可执行程序,方可运行。
将程序8-9作为解释器,编写类似p165例子的脚本(只有一行)。
举例说明至少2种脚本的执行方法。
脚本(script)是使用一种特定的描述性语言,依据一定的格式编写的HYPERLINK /view/.htm可执行文件,又称作HYPERLINK /view/57.htm宏或HYPERLINK /view/.htm批处理文件。
一般的脚本语言的执行只同具体的解释执行器有关,所以只要系统上有相应语言的HYPERLINK /view/47200.htm解释程序就可以做到跨平台。脚本(Script),就是含有bind和alias等命令的集合,你可以把这个集合存为一个独立的文件然后在需要的时候执行,这样就可以方便你在C
您可能关注的文档
最近下载
- 2025年天津市中考英语真题卷(含答案与解析).pdf VIP
- 工商银行swift代码大全.pdf VIP
- 文献检索与科技论文写作 课件全套 第1--9章 绪论、科技文献检索基础知识---科技论文的投稿.pdf VIP
- 《企业安全生产主要负责人和管理人员培训课件》.ppt VIP
- 宠物临床诊疗职业技能评价规范 宠物医师助理.pdf VIP
- 等离子体电极用碳化铪粉末、其制造方法、碳化铪烧结体和等离子体电极.pdf VIP
- 湖南师大附中2022-2023学年高一下学期期末数学试题含答案.pdf VIP
- 温室气体(GHG)管理手册.doc VIP
- SBS改性沥青防水卷材施工方案.docx VIP
- 多相流体的数值模拟及计算方法.pdf VIP
文档评论(0)