进程控制课件讲解-赖炜
36页1、进程控制,什么是进程,进程是一个程序的一次执行的过程,同时也是资源分配的最小单元。 程序是静态的,它是一些保存在磁盘上的指令的有序集合,没有任何执行的概念。 进程是一个动态的概念,它是程序执行的过程,包括了动态创建、调度和消亡的整个过程,是程序执行和资源管理的最小单位。,后台进程,用户在Shell提示符处键入命令,执行一个程序的时候,它将启动一个进程。此后该进程接管终端,Shell中不能再有其它命令,直到进程执行完毕,才终端返回Shell并显示用户提示符。这种进程就是前台进程。 如果用户在输入Shell命令时,在命令串后面加入“&”,Shell将不等待进程执行完毕就直接返回,于是就可以同时运行进程和执行Shell操作。这样的进程就是后台进程,后台进程并不接管终端,因此必须是非交互式的。,守护进程,守护进程是与终端无关,常驻后台执行的特殊进程。Linux中最著名的两个守护进程是: sysproc进程。Linux的第一个进程,标识号为0。它能合理地高度系统中运行的进程,负责将进程从硬盘交换区调入内存(换入),或者将进程从内存中调到硬盘交换区(换出)。 init进程。系统初始化进程,标识号为
2、1,是除sysproc外所有进程的祖先。,进程状态,睡眠,调度,唤醒,系统调用 、中断,返回,进程标识,Linux系统中每个进程都有一个唯一的标识号,操作系统采用一个非负整数标识每个进程。 进程启动时,系统为进程分配标识号(进程ID);进程中止后,标识号可以重新使用。但任意时刻,一个标识号只对应一个进程。 函数getpid当前进程ID;函数getppid返回父进程ID,获取进程ID,#include #include #include int main() /*获得当前进程的进程ID和其父进程ID*/ printf(“The PID of this process is %dn“, getpid(); printf(“The PPID of this process is %dn“, getppid(); ,启动进程,手工启动,由用户输入命令直接启动进程。 前台启动是手工启动一个进程的最常用方式。一般地,当用户键入一个命令如“ls -l”时,就已经启动了一个进程,并且是一个前台的进程。 若进程非常耗时,且用户也不急着需要结果,可使用后台启动。后台启动是在命令后加“&”。 调度启动,系统
3、根据用户的设置自行启动进程。 系统需要进行一些比较费时而且占用资源的维护工作,并且这些工作适合在深夜无人值守的时候进行,这时用户就可以事先进行调度安排,指定任务运行的时间或者场合,到时候系统就会自动完成这一切工作。 使用调度启动进程有几个常用的命令,如at命令在指定时刻执行相关进程,cron命令可以自动周期性地执行相关进程,fork函数,在Linux中创建一个子进程的惟一方法是使用fork()函数。 fork()函数用于从已存在的进程中创建一个新进程。新进程称为子进程,而原进程称为父进程。 使用fork()函数得到的子进程是父进程的一个复制品,它从父进程处继承了整个进程的地址空间,包括进程上下文、代码段、进程堆栈、内存信息、打开的文件描述符、信号控制设定、进程优先级、进程组号、当前工作目录、根目录、资源限制和控制终端等,而子进程所独有的只有它的进程号、资源使用和计时器等。,fork函数,和以往遇到的函数有一些区别,fork函数看起来执行一次却返回两个值。,创建进程,#include #include #include #include int main(void) pid_t resu
4、lt; int count=0; result = fork(); /通过result的值来判断fork()函数的返回情况,首先进行出错处理 if(result = -1) printf(“Fork errorn“); else if (result = 0) /返回值为0代表子进程 printf(“Im child process!nMy PID is %dn“, getpid(); else /返回值大于0代表父进程 printf(“Im father process!nMy PID is %dn“, getpid(); count+; printf(“the count is:%dn“,count); return result; ,fork函数,fork在英文中是叉子,分叉的意思,在函数fork中,取后面的意思。很形象的表示程序从这里分叉,fork函数创建了子进程。 在父进程中执行fork()函数时,父进程会复制出一个子进程,而且父子进程的代码从fork()函数的返回开始分别在两个地址空间中同时运行(其实是cpu分时处理)。 两个进程分别获得其所属fork()的返回值,其中在父
《进程控制课件讲解-赖炜》由会员小**分享,可在线阅读,更多相关《进程控制课件讲解-赖炜》请在金锄头文库上搜索。
2020年高考真题——理科综合(全国卷Ⅲ)+Word版含答案
2021年绝味鸭脖策划书
2021年熟食店创业方案
2021年熟食店开店策划
2021年卤菜店创业计划书
2021年周黑鸭网络营销策划方案
东大21年1月考试《现代设计方法》考核作业
谈我国行政管理效率的现状及其改观对策(论文)
单证员考试-备考辅导-复习资料:无贸易背景信用证案分析.docx
土木工程毕业生答辩自述.docx
建筑学毕业后工作状态真实写照.doc
C#代码规范(湖南大学).doc
xx区食药监局2019年工作总结及2020年工作计划
2019年中医院药物维持治疗门诊工人先锋号先进事迹
2019年度xx乡镇林长制工作总结
2019年性艾科工作计划书
2019年人才服务局全国扶贫日活动开展情况总结
关于组工信息选题的几点思考
摘了穷帽子 有了新模样
2019年某集团公司基层党支部书记培训班心得体会
2024-01-31 15页
2024-01-31 21页
2024-01-31 37页
2024-01-31 30页
2024-01-31 22页
2024-01-31 48页
2024-01-31 32页
2024-01-31 40页
2024-01-31 31页
2024-01-31 20页