洛阳师范学院UNIX实验报告-7.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
洛阳师范学院UNIX实验报告-7

测试过程:(实验中出现的问题、错误、解决方法) 基本算法思想掌握之后,程序的大体流程可以写出来, 具体的问题,就是有时候会因为对个别函数的参数应用出问题 老师有问必答,全部都给解决了 实验总结: 签名 2012 年 5 月 23 日 评语与成绩: 教师签名: 年 月 日 洛阳师范学院信息技术学院 软件实验报告 专业: 软件工程 课程: UNIX高级编程 学号: 姓名: 班级: 实验名称 终端与作业控制 实验类型 验证型 实验时间 2012-5-23 实验环境 虚拟机下装有linux操作系统的windows操作系统 实验目的与要求: 掌握进程组、会话期、作业、控制终端的概念; 掌握作业的前台、后台切换、终端输出控制; 实验内容: 有关知识点的验证 写一段包含fork调用的程序,验证父子进程是否在同一组中 调用setpgid函数,分别设置父进程和子进程为一个新组的组长进程,输出设置后的组ID,验证调用是否成功 如果一个进程在创建子进程后,希望该子进程为一个新组的组长进程,setpgid应该被调用几次?在什么时机进行调用? 如果子进程因执行exec函数而加载新程序执行,此时父进程调用setpgid函数设置子进程的组ID是否还能成功?验证你的结论 编写一段程序,要求调用fork在子进程中建立一个新的对话期。 验证步骤5)中子进程的ID和组ID是否相等?是否能够向终端输出打印信息? 验证进程终止及同步关系 编写二个程序,每个程序都输出其组ID,通过管道线在命令行执行。验证这两个程序是否属于同一作业; 将上述命令行在后台执行,观察输出的情况,并解释原因 参照教材P189的例子,使用stty命令禁止后台进程的终端输出 参照教材P189的例子,使用fg命令切换后台作业为前提作业 实验步骤:(算法描述、源程序、操作步骤和方法) 有关知识点的验证 写一段包含fork调用的程序,验证父子进程是否在同一组中 有运行结果可知,子进程和父进程在同一实际组里。 调用setgid函数,分别设置父进程和子进程为一个新组的组长进程,输出设置后的组ID,验证调用是否成功 运行结果可知,修改成功: setpgid(设置进程组识别码)   相关函数 getpgid,setpgrp,getpgrp   表头文件 #includeunistd.h   定义函数 int setpgid(pid_t pid,pid_t pgid);   函数说明   setpgid()将参数pid指定进程所属的组识别码设为参数pgid指定   的组识别码。如果参数pid 为0,则会用来设置目前进程的组识别   码,如果参数pgid为0,则会以目前进程的进程识别码来取代。   返回值   执行成功则返回组识别码,如果有错误则返回-1,错误原因存于   errno中。   错误代码   EINVAL 参数pgid小于0。   EPERM 进程权限不足,无法完成调用。   ESRCH 找不到符合参数pid指定的进程 编写一段程序,要求调用fork在子进程中建立一个新的对话期。 有运行结果可知,子进程在成为会话组组长时,并没有想课本上所说的那样(失去中断控制权) 但是已经成为另外一个组的进程了 验证步骤5)中子进程的ID和组ID是否相等?是否能够向终端输出打印信息? 在子进程执行的程序中加上一句输出当前进程pid的输出语句既可 验证进程终止及同步关系 work1.c文件内容 work2.c文件内容: 编写二个程序,每个程序都输出其组ID,通过管道线在命令行执行。验证这两个程序是否属于同一作业; 不属于同一个作业 原因:不知道 将上述命令行在后台执行,观察输出的情况,并解释原因 参照教材P189的例子,使用stty命令禁止后台进程的终端输出 参照教材P189的例子,使用fg命令切换后台作业为前提作业 虽然将work1作业成功切换为前台进程,但是没有没有成功在前台输出 具体原因可能是由于程序执行时间过短 实验步骤:(算法描述、源程序、操作步骤和方法)

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档