收藏 分销(赏)

实验二 进程的创建.ppt

上传人:pc****0 文档编号:13228747 上传时间:2026-02-07 格式:PPT 页数:27 大小:421.50KB 下载积分:10 金币
下载 相关 举报
实验二 进程的创建.ppt_第1页
第1页 / 共27页
实验二 进程的创建.ppt_第2页
第2页 / 共27页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,实验二 进程的创建,1.,查看系统进程,2.,阅读实例代码,fork1,并编辑、编译、运行,记录程序的运行结果,尝试给出合理的解释,查阅有关资料,掌握系统调用,fork(),的用法,返回值的意义。,3.,阅读实例代码,fork2,并编辑、编译、运行,记录程序的运行结果,尝试给出合理的解释,查阅有关资料,掌握在程序中运行一个操作系统命令和运行一个程序的方法。,4.,修改,fork2,使之能把运行的命令和程序作为参数传给,fork2,如,fork2,ls,.(,选做,),5.,写实验报告,相关的管理命令,查看系统进程,ps,命令,系统管理员监视进程的主要工具。可用于显示进程的,PID,、,UID,、,优先级及控制终端;还可给出进程在使用多少内存、耗用的,CPU,时间以及当前的进程状态等;并明确地标识出僵尸进程。,命令格式:,ps,option,常用的两种,ps,命令格式,ps,-,ef,ps,ef,输出的解释,栏目,内容,栏目,内容,UID,属主的用户名,STIME,进程启动时刻,PID,进程,ID,TTY,控制终端,PPID,父,进程,ID,TIME,已耗用的,CPU,时间,C,CPU,使用,/,调度信息,COMD,命令及参数,ps,-aux,ps,aux,输出的解释,栏目,内容,USER,进程属主的用户名,PID,进程,ID,%CPU,进程正在使用的,CPU,时间的百分比,%MEM,进程正在使用的实际内存量的百分比,VSZ,进程的虚存空间大小,单位为,KB,RSS,驻留集大小(内存中,1K,大小的页面个数),TT,控制终端,ID,STAT,当前进程状态,START,进程启动时刻,TIME,进程已耗用的,CPU,时间,COMMAND,命令名和参数,Fork1.c,#include,main(),int,pid,;,pid=fork(),;,if(,pid,=,=,-1),printf(“fork,failed.n”);,return;,printf(“Im,the child.n”);,printf(“Im,the parent.n”);,return;,Fork2.c,#include,main(),int,pid,;,pid,=fork();,if(pid,=0),printf(“Im,the child.n”);,execl(“/bin/ls”,”ls”,0);,perror(“exec,error.n”);,else,if(pid,0),printf(“Im,the parent.n”),else,printf(“fork,failed.n”);,printf(“program,end.n”);,Linux,进程控制,Linux,中进程的基本概念,进程与程序,在并发环境下,一个正在执行中的程序被称为进程。,程序是外存中的可执行文件。,进程实体由,正文段,、,用户数据段,和,栈段,组成,。,多个进程可以同时执行同一个程序,。,2.,进程的一些重要信息,PID,一个整数,它是进程唯一的标识符,又称进程号。,PID,按进程创建的顺序赋值。,PPID,父进程的,PID,3.Linux,中的两个特殊进程,0#,进程,由内核程序创建,初始化时创建,1#,进程,平时负责调度分配处理器,管理中负责进程调度与交换,1#,进程,是所有用户进程的祖先进程,Linux,中进程的生命周期,Linux,如何建立进程和在程序中启动程序?,基本概念,Linux,中的进程是由系统调用,fork,创建的实体。,调用,fork,的进程是,父进程,,由,fork,创建的进程是,子进程,。,一个进程可以有多个子进程,但只有一个父进程。,父子进程的关系图,parent,child,child,fork,exec,exit,自动,wait,ZOMBIE,exit,自动,孤儿,父进程在子进程结束之前结束,“僵尸进程”是指那种处于退出中途状态的进程。,fork,系统调用,功能:,创建子进程,返回值:,对子进程返回,0,;对父进程返回子进程号(大于,0,);创建失败返回,-1,给父进程(一次调用,二次返回),完成的工作:,(1),在进程表中为子进程分配,proc,结构;,(2),给子进程赋唯一的标识符,pid,;,(3),复制父进程上下文的一个逻辑副本;,(4),增加父进程的文件表、索引节点表的引用数。,pid=fork(),;,if(,pid,=,=0,),/*,子进程,代码,,例如exec(“ap1”,),*/,.,else,if,(,pid,0),/*,父进程,代码,例如wait();,*/,.,else,/*fork,失败的处理*,/,.,exec,系统调用系列,功能:,用参数中指定的可执行程序副本覆盖调用程序的正文段和数据段,并使用参数指定的执行参数执行新的代码段。,比较,fork,系统调用和,exec,系统调用,调用的基本格式:,execve(pathname,argv,envp,),六种调用方式,execve,execle,execvp,execv,execl,execlp,执行文件的路径名,字符指针数组,是可执行程序的参数,字符指针数组,指示执行程序的环境,l,:,长格式调用,每个参数指针独立传递并以空指针,0,结束;,v:,用,argv,指针数组传递运行参数;,e,:,从,envp,指针数组传递环境参数;,p,:,在当前目录中搜索指定的文件,否则在,PATH,指定的目录中搜索。,fork,和,exec,的内存变化,LINUX,中的进程终止,正常终止,从,main函数返回,调用exit函数,调用,_exit,系统调用函数,异常终止,调用,abort函数,进程接收到某信号,SIGABRT,信号,LINUX,的进程层次和初启过程,1.,终端登录,2.,网络登录,终端登录方式下的,LINUX,进程层次,网络登录方式下的,LINUX,进程层次,例,析,LINUX shell,的工作过程,进程状态,STAT,值,状态,含义,R,可,运行,进程可被执行,S,睡眠中,进程在等待某资源,W,对换出,进程不在内存中,Z,僵尸,进程处于“僵死”状态,T,被,阻止,进程被挂起,top,命令,实时地对系统中资源的使用状况进行监测,显示当前系统中最占用,CPU,资源的进程,同时提供一个交互界面让用户观测系统的进程情况。,优点:功能强;缺点:需要长久占用前台。,vmstat,命令,进程调度,进程的挂起及恢复,挂起当前的前台作业:,Ctrl+Z,查看挂起的进程:,jobs,命令,恢复进程的执行,恢复到前台执行:,fg,命令,恢复到后台执行:,bg,命令,终止进程,前台进程的中断:,Ctrl+C,后台进程的中断:,kill,命令,kill,命令,功能:向进程发送信号,命令格式:,kill,-signal,pid,-9,-HUP,上机时间,第六周 周一,58,节,第七周 周一,58,节,第八周 周一,58,节,第九周 周一,58,节,第十周 周一,58,节,第十一周 周一,58,节,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服