《实验6:Linux进程控制Word版》由会员分享,可在线阅读,更多相关《实验6:Linux进程控制Word版(5页珍藏版)》请在人人文库网上搜索。
1、传播优秀Word版文档 ,希望对您有帮助,可双击去除!实验报告6课程名称: Linux程序设计 实验名称: Linux进程控制 学生姓名: 班级: 学号: 指导老师: 钱振江 成绩: 一、实验目的1掌握进程的创建,用fork产生的子进程与父进程的关系;2掌握exec函数族的应用。二、实验任务与要求1熟悉父进程创建一个子进程,父进程与子进程之间的数据结构与变量存放的问题;2子进程与父进程间的关系;3execl、execv函数的应用;4execlp函数的应用;5execle函数的应用;三、实验工具与准备计算机PC机,Linux Ubuntu操作系统四、实验步骤与操作指导1.调试下列程序。步骤1 用。
2、vi编辑程序6-1.c。rootlocalhost root# vi 6-1.c#include #include #include #include int main(void)pid_t pid;char *message;int n;pid = fork();if (pid 0; n-) printf(message);sleep(1);return 0;步骤2 用gcc编译程序。用gcc的”-o”选项,将6-1.c程序编译成可执行文件6-1,输入如下:rootlocalhost root#gcc 6-1.c o 6-1步骤3 运行程序。编译成功后,执行程序6-1.问题思考:(1) 从程。
3、序的运行结果分析程序的并发执行情况。(2) 从程序的运行结果分析,你如何理解子进程与父进程共用同一个数据结构,但在不同的空间内?(3) 如果在子进程中给变量n赋值6,在父进程中给变量n赋值3,请分析程序运行的结果。(4) 把程序中的“sleep(1);”去掉,程序的运行结果如何改变?请记录实验结果并分析。2程序设计。设计一个程序,产生一个子进程,在父进程内调用终端命令vi编辑一个文本文件,在子进程内测试系统与baidu的网络连通情况,在父进程中观察fork函数的返回值与子进程号有什么关系。当子进程退出后,父进程才退出。3调试下列程序,观察程序的运行结果,并说明程序的功能和过程。#include。
4、 /*文件预处理,包含标准输入输出库*/#include /*文件预处理,包含system、exit等函数库*/#include /*文件预处理,包含fork、getpid、getppid函数库*/#include /*文件预处理,包含fork函数库*/int main () /*C程序的主函数,开始入口*/ pid_t result;result=fork(); /*调用fork函数,返回值存在变量result中*/int newret;if(result=-1) /*通过result的值来判断fork函数的返回情况,这儿先进行出错处理*/perror(创建子进程失败);exit(0);el。
5、se if (result=0)/*返回值为0代表子进程*/printf(返回值是:%d,说明这是子进程!n此进程的进程号(PID)是:%dn此进程的父进程号(PPID)是:%dn,result,getpid(),getppid();execl(“/bin/ls”,”ls”,”-l”,0);/*调用ls程序,显示当前目录下的文件信息*/else /*返回值大于0代表父进程*/传播优秀Word版文档 ,希望对您有帮助,可双击去除!sleep(10);printf(返回值是:%d,说明这是父进程!n此进程的进程号(PID)是:%dn此进程的父进程号(PPID)是:%dn,result,getpid(),getppid();传播优秀Word版文档 ,希望对您有帮助,可双击去除!五、实验结果记录传播优秀Word版文档 ,希望对您有帮助,可双击去除!六、实验结果分析。