第一范文网 - 专业文章范例文档资料分享平台

洛阳师范学院UNIX实验报告-7 - 图文

来源:用户分享 时间:2025/5/21 13:52:46 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

测试过程:(实验中出现的问题、错误、解决方法) 基本算法思想掌握之后,程序的大体流程可以写出来, 具体的问题,就是有时候会因为对个别函数的参数应用出问题 老师有问必答,全部都给解决了 实验总结: 签名 2012 年 5 月 23 日 评语与成绩: 教师签名: 年 月 日 洛阳师范学院信息技术学院

软件实验报告

专业: 软件工程 课程: UNIX高级编程 学号: 姓名: 班级: 实验名称 终端与作业控制 实验类型 验证型 实验时间 2012-5-23 实验环境 虚拟机下装有linux操作系统的windows操作系统 实验目的与要求: 掌握进程组、会话期、作业、控制终端的概念; 掌握作业的前台、后台切换、终端输出控制; 实验内容: 1、 有关知识点的验证 1) 写一段包含fork调用的程序,验证父子进程是否在同一组中 2) 调用setpgid函数,分别设置父进程和子进程为一个新组的组长进程,输出设置后的组ID,验证调用是否成功 3) 如果一个进程在创建子进程后,希望该子进程为一个新组的组长进程,setpgid应该被调用几次?在什么时机进行调用? 4) 如果子进程因执行exec函数而加载新程序执行,此时父进程调用setpgid函数设置子进程的组ID是否还能成功?验证你的结论 5) 编写一段程序,要求调用fork在子进程中建立一个新的对话期。 6) 验证步骤5)中子进程的ID和组ID是否相等?是否能够向终端输出打印信息? 2、 验证进程终止及同步关系 1) 编写二个程序,每个程序都输出其组ID,通过管道线在命令行执行。验证这两个程序是否属于同一作业; 2) 将上述命令行在后台执行,观察输出的情况,并解释原因 3) 参照教材P189的例子,使用stty命令禁止后台进程的终端输出 4) 参照教材P189的例子,使用fg命令切换后台作业为前提作业 实验步骤:(算法描述、源程序、操作步骤和方法) 有关知识点的验证 写一段包含fork调用的程序,验证父子进程是否在同一组中 有运行结果可知,子进程和父进程在同一实际组里。 调用setgid函数,分别设置父进程和子进程为一个新组的组长进程,输出设置后的组ID,验证调用是否成功 运行结果可知,修改成功: setpgid(设置进程组识别码) 相关函数 getpgid,setpgrp,getpgrp 表头文件 #include 定义函数 int setpgid(pid_t pid,pid_t pgid); 函数说明 setpgid()将参数pid指定进程所属的组识别码设为参数pgid指定 的组识别码。如果参数pid 为0,则会用来设置目前进程的组识别 码,如果参数pgid为0,则会以目前进程的进程识别码来取代。 返回值 执行成功则返回组识别码,如果有错误则返回-1,错误原因存于 errno中。 错误代码 EINVAL 参数pgid小于0。 EPERM 进程权限不足,无法完成调用。 ESRCH 找不到符合参数pid指定的进程 如果一个进程在创建子进程后,希望该子进程为一个新组的组长进程,setpgid应该被调用几次?在什么时机进行调用? 首先应该fork一个子进程,如果成功,查看当前进程的组ID之后使用setpgid这个函数将子进程设置为新租的组长进程。 如果子进程因执行exec函数而加载新程序执行,此时父进程调用setpgid函数设置子进程的组ID是否还能成功?验证你的结论 准备的二进制程序mengyawei的源程序 编写一段程序,要求调用fork在子进程中建立一个新的对话期。

搜索更多关于: 洛阳师范学院UNIX实验报告-7 - 图文 的文档
洛阳师范学院UNIX实验报告-7 - 图文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4ig054a2hr9uewu2sof5_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top