(Linux进程创建实验报告
深 圳 大 学 实 验 报 告
课程名称: Linux系统编程
实验项目名称: 进程控制和守护进程的创建
学院: 计算机与软件学院
专业: 电子信息工程
指导教师: 冯禹洪
报告人: 卢国鹏 学号: 2012130303 班级: 电子3班
实验时间:
实验报告提交时间:
教务处制一、 实验目标:
掌握fork()系统调用及进程的相关概念
掌握wait()和waitpid()系统调用
掌握进程组,会话进程等概念和setsid()系统调用
掌握文件重定向的技巧
掌握创建守护进程的步骤及其实现
二、实验环境与工件
湖边Linux实验室
编例实现创建n个子进程P1,P2,…,Pn,其中,各进程之间的关系是:P1是调用进程的子进程,P(k+1)是Pk的子进程。请打印各进程本身的进程号、父进程号,子进程号。参考运行结果如下。要求:(1)每个父进程都要等待子进程退出后才能退出;(2)n通过命令行参数传入;(3)附上源代码截图和运行结果截图。(20分)
编例实现创建n个子进程P1,P2,…,Pn,其中,各进程之间的关系是:P1,…,Pn都是调用进程的子进程。请打印各进程本身的进程号、父进程号,子进程号。参考运行结果如下。要求:(1)每个父进程都要等待子进程退出后才能退出;(2)n通过命令行参数传入;(3)附上源代码截图和运行结果截图。(20分)
编例实现创建n=2d-2个子进程P1,P2,…,Pn,其中,d是树的深度且d>=1, P1和P2是调用进程的子进程,P3和P4是P1的子进程,P5和P6是P2的子进程。也就是各进程之间的关系是:Pi是P2i+1和P2i+2的父进程,也是组成二叉树的关系,如下图所示。对于不是叶子的进程,将其ID和父进程ID打印出来。参考运行结果如下。 要求:(1)每个父进程都要等待子进程退出后才能退出;(2)d通过命令行参数传入;(3)附上源代码截图和运行结果截图。(30分)
图1. n=23-2=6
4.请根据课件描述的守护进程创建步骤编程实现对守护进程的创建,参照下面的实现,如果有兴趣,可以自己添加个性化功能(自行发挥,如写文件。。。等)。请附上源代码及运行结果。(20分)
四、实验结果
在源码之后。
五、实验总结与体会
本次试验主要练习了进程的创建,守护进程的创建。编码过程中要仔细理解子进程与父进程的关系,并创建题目的要求。进程创建的编码还不是很熟悉,以后还要加强练习。
指导教师批阅意见:
成绩评定:
指导教师签字:
年 月 日备注:
深圳大学学生实验报告用纸