实验二 进程的创建

实验二 进程的创建

ID:41259823

大小:421.50 KB

页数:27页

时间:2019-08-20

实验二 进程的创建_第1页
实验二 进程的创建_第2页
实验二 进程的创建_第3页
实验二 进程的创建_第4页
实验二 进程的创建_第5页
资源描述:

《实验二 进程的创建》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验二进程的创建1.查看系统进程2.阅读实例代码fork1,并编辑、编译、运行,记录程序的运行结果,尝试给出合理的解释,查阅有关资料,掌握系统调用fork()的用法,返回值的意义。3.阅读实例代码fork2,并编辑、编译、运行,记录程序的运行结果,尝试给出合理的解释,查阅有关资料,掌握在程序中运行一个操作系统命令和运行一个程序的方法。4.修改fork2,使之能把运行的命令和程序作为参数传给fork2,如fork2ls.(选做)5.写实验报告相关的管理命令查看系统进程ps命令系统管理员监视进程的主要工具。可用于显示进程的PID、UID、优先级及控制终端;还可给出进

2、程在使用多少内存、耗用的CPU时间以及当前的进程状态等;并明确地标识出僵尸进程。命令格式:ps[option]常用的两种ps命令格式ps-efps–ef输出的解释栏目内容栏目内容UID属主的用户名STIME进程启动时刻PID进程IDTTY控制终端PPID父进程IDTIME已耗用的CPU时间CCPU使用/调度信息COMD命令及参数ps-auxps–aux输出的解释栏目内容USER进程属主的用户名PID进程ID%CPU进程正在使用的CPU时间的百分比%MEM进程正在使用的实际内存量的百分比VSZ进程的虚存空间大小,单位为KBRSS驻留集大小(内存中1K大小的页面个数

3、)TT控制终端IDSTAT当前进程状态START进程启动时刻TIME进程已耗用的CPU时间COMMAND命令名和参数Fork1.c#includemain(){intpid;pid=fork();if(pid==-1){printf(“forkfailed.”);return;}printf(“I’mthechild.”);printf(“I’mtheparent.”);return;}Fork2.c#includemain(){intpid;pid=fork();if(pid==0){printf(“I’mthe

4、child.”);execl(“/bin/ls”,”ls”,0);perror(“execerror.”);}elseif(pid>0)printf(“I’mtheparent.”)elseprintf(“forkfailed.”);printf(“programend.”);}Linux进程控制Linux中进程的基本概念进程与程序在并发环境下,一个正在执行中的程序被称为进程。程序是外存中的可执行文件。进程实体由正文段、用户数据段和栈段组成。多个进程可以同时执行同一个程序。2.进程的一些重要信息PID一个整数,它是进程唯一的标识符,又称进程号

5、。PID按进程创建的顺序赋值。PPID父进程的PID3.Linux中的两个特殊进程0#进程由内核程序创建,初始化时创建1#进程平时负责调度分配处理器管理中负责进程调度与交换1#进程是所有用户进程的祖先进程Linux中进程的生命周期Linux如何建立进程和在程序中启动程序?基本概念Linux中的进程是由系统调用fork创建的实体。调用fork的进程是父进程,由fork创建的进程是子进程。一个进程可以有多个子进程,但只有一个父进程。父子进程的关系图parentchildchildforkexecexit自动waitZOMBIEexit自动孤儿父进程在子进程结束之前结

6、束“僵尸进程”是指那种处于退出中途状态的进程。fork系统调用功能:创建子进程返回值:对子进程返回0;对父进程返回子进程号(大于0);创建失败返回-1给父进程(一次调用,二次返回)完成的工作:(1)在进程表中为子进程分配proc结构;(2)给子进程赋唯一的标识符pid;(3)复制父进程上下文的一个逻辑副本;(4)增加父进程的文件表、索引节点表的引用数。……pid=fork();if(pid==0){/*子进程代码,例如exec(“ap1”,…)*/….}elseif(pid>0){/*父进程代码,例如wait();*/….}else{/*fork失败的处理*/…

7、.}exec系统调用系列功能:用参数中指定的可执行程序副本覆盖调用程序的正文段和数据段,并使用参数指定的执行参数执行新的代码段。比较fork系统调用和exec系统调用调用的基本格式:execve(pathname,argv,envp)六种调用方式execveexecleexecvpexecvexeclexeclp执行文件的路径名字符指针数组,是可执行程序的参数字符指针数组,指示执行程序的环境l:长格式调用,每个参数指针独立传递并以空指针0结束;v:用argv指针数组传递运行参数;e:从envp指针数组传递环境参数;p:在当前目录中搜索指定的文件,否则在PATH指

8、定的目录中搜索。fork

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。