实验一-进程控制实验.pdf
《实验一-进程控制实验.pdf》由会员分享,可在线阅读,更多相关《实验一-进程控制实验.pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实验一实验一 进程控制进程控制一、实验目的:一、实验目的:加深对进程概念的理解,明确进程和程序的区别;掌握 Linux 操作系统的进程创建和终止操作,体会父进程和子进程的关系及进程状态的变化;进一步认识并发执行的实质,编写并发程序。二、实验平台:二、实验平台:虚拟机:VMWare9以上操作系统:Ubuntu12.04 以上编辑器:Gedit|Vim编译器:Gcc三、实验内容:三、实验内容:(1)编写一段程序,使用系统调用 fork()创建两个子进程,当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示“身份信息”:父进程显示“Parent process!PID=xx
2、x1 PPID=xxx2”;子进程显示“Childx process!PID=xxx PPID=xxx”。多运行几次,观察记录屏幕上的显示结果,并分析原因。说明:xxx1 为进程号,用 getpid()函数可获取进程号;xxx2 为父进程号,用 getppid()函数可获取父进程号;Childx 中 x 为 1 和 2,用来区别两个子进程;wait()函数用来避免父进程在子进程终止之前终止。程序源码:#include#include#include#define NUM 2int main(void)文档pid_t pid1,pid2;if(pid1=fork()0)printf(创建进程 1
3、 失败);elseif(pid1=0)/子进程 1 执行printf(Child1process:);printf(PID=%dPPID=%d n,getpid(),getppid();sleep(2);elseif(pid2=fork()0)printf(创建进程 2 失败);elseif(pid2=0)/子进程 2 执行printf(Child2process:);printf(PID=%dPPID=%d n,getpid(),getppid();else/父进程执行wait();wait();printf(Parent process:);printf(PID=%dPPID=%d n,g
4、etpid(),getppid();exit(0);文档执行结果whtcmisswhtcmiss-VirtualBox:/Desktop$gcc test1.c-o testwhtcmisswhtcmiss-VirtualBox:/Desktop$./testChild2process:PID=2527PPID=2525Child1process:PID=2526PPID=2525Parent process:PID=2525PPID=2127whtcmisswhtcmiss-VirtualBox:/Desktop$./testChild2process:PID=2530PPID=2528Ch
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 进程 控制
限制150内