欢迎来到天天文库
浏览记录
ID:41033509
大小:46.00 KB
页数:5页
时间:2019-08-14
《实验 用C编程实现进程(旧版)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、广州大学华软软件学院网络操作系统-本科实验LINUX进程管理用C编程实现进程目标:Ø在LINUX系统环境中使用C程序创建进程Ø尝试理解LINUX系统进程的父子派生关系Ø尝试理解新建子进程如何执行自己的代码实验准备:ØLINUX系统服务器Øgcc编译环境Øvi文本编辑器提示及建议:Ø这此实验不要求读者掌握LINUX系统中的C语言编程,只要求掌握可以建立GCC的编译环境,并且可以使用其编译源程序即可。Ø实验中的C源代码,不推荐在WINDOWS环境中使用文本编辑软件创建,除非你很清楚LINUX和WINDOWS处理
2、文本的不同。Ø对系统文件所做的任何修改都要记录在操作日志栏中。Ø操作命令语法可查看“man”联机帮助文档练习内容:1.执行命令,查看“gcc”的版本信息#gcc–v记录:gccversion3.4.420050721(RedHat3.4.4-2)2.使用vi编辑器建立程序源代码文件prog1.c。prog1.c#include#include#include#includeIntmain(){pid_tpid;if((pid
3、=fork())<0){printf(“forkerror,bye!”);exit(1);}if((pid=fork())==0)printf(“Childprocessrunning.);elseprintf(“Parentprocessrunning.”);printf(“who!”):return0;日志第4页广州大学华软软件学院网络操作系统-本科}1.使用gcc命令编译,然后执行程序prog1,记录执行结果。#gcc–oprog1prog1.c#./prog1记录:Childproc
4、essrunning.who!Parentprocessrunning.who!Childprocessrunning.who!Parentprocessrunning.who!思考:分析为什么程序执行中会输出两次“who?”回答:2.使用vi编辑器建立程序源代码文件prog2.c,参考程序prog1的编译过程,编译执行程序prog2,记录程序执行结果。Prog2.c#include#include#include#include5、.h>Intmain(){pid_tpid;if((pid=fork())<0){printf(“forkerror,bye!.”);exit(1);}if((pid=fork())==0){printf(“Childprocessrunning.);if(execl(“/bin/ls”,”ls”,”-1”,NULL)<0)exit(1):}elseprintf(“Parentprocessrunning.”);printf(“who!”):return0;}第4页广州大学华软软件学院网络操6、作系统-本科记录:Childprocessrunning.Parentprocessrunning.who!Childprocessrunning.Parentprocessrunning.who!思考:分析程序prog2的执行结果回答:思考:运用vi编辑器建立下面的文件,并分析程序的执行结果#include#include#includeintmain(){pid_tpid;pid=fork();if(pid<0){printf(“forke7、rror.”);exit(0);}else{pid=fork();if(pid<0){printf(“forkerror.”);exit(0);}elseprintf(“%d,%d”,getpid(),getppid());}printf(“%d,%d.”,getpid(),getppid());}回答:第4页广州大学华软软件学院网络操作系统-本科1.第4页广州大学华软软件学院网络操作系统-本科第4页
5、.h>Intmain(){pid_tpid;if((pid=fork())<0){printf(“forkerror,bye!.”);exit(1);}if((pid=fork())==0){printf(“Childprocessrunning.);if(execl(“/bin/ls”,”ls”,”-1”,NULL)<0)exit(1):}elseprintf(“Parentprocessrunning.”);printf(“who!”):return0;}第4页广州大学华软软件学院网络操
6、作系统-本科记录:Childprocessrunning.Parentprocessrunning.who!Childprocessrunning.Parentprocessrunning.who!思考:分析程序prog2的执行结果回答:思考:运用vi编辑器建立下面的文件,并分析程序的执行结果#include#include#includeintmain(){pid_tpid;pid=fork();if(pid<0){printf(“forke
7、rror.”);exit(0);}else{pid=fork();if(pid<0){printf(“forkerror.”);exit(0);}elseprintf(“%d,%d”,getpid(),getppid());}printf(“%d,%d.”,getpid(),getppid());}回答:第4页广州大学华软软件学院网络操作系统-本科1.第4页广州大学华软软件学院网络操作系统-本科第4页
此文档下载收益归作者所有