进程
进程的一些知识点,进程与程序的区别,进程的信息这几个方面来讲述的
1、进程的概念:是一个程序的一次执行的过程
2、进程和程序的区别:
程序:是静态的,它是一些保存在磁盘上的指令的有序集合,没有任何执行的概念。
### 进程:是一个动态的概念,它是程序执行的过程,包括创建、调度和消亡。
a、调度:时间片轮转
时间片:进程在某一时刻获取CPU控制的时间的
b、退出:进程退出,将该进程获取的有限资源全部释放
c、静态查看进程的信息:ps aux或者ps axj
|
|
|
|
进程号是进程的标识,由系统进行定义;
进程号为1,称之为init进程,是所有进程的祖先;
进程号为0,称之为调度进程,有内核开启;
3、进程的种类
1)交互进程:该类进程是由shell控制和运行的。交互进程既可以在前台运行,也可以在后台运行,可以与用户直接交互,且受终端的控制。
2)批处理进程该是一个进程序列,负责按照顺序启动,该类进程不属于某个终端,不与用户进行交互,在后台运行,称之为进程的集合。
3)守护进程:长期运行在后台做某些服务。本身属于后台进程, 不受终端控制。自己做为会话组组长。
4)僵尸进程:如果子进程先退出,而父进程并没有对子进程的资源进行回收。则子进程称之为僵死进程。
5)孤儿进程:父进程先退出,而它的子进程还在运行,那么该子进程被称为孤儿进程。孤儿进程将被1号进程(init)收养,并最终由1号进程对其资源回收。不论子进程处于运行态、睡眠态、僵尸态、暂停态对会被1号进程收养。
4、进程的命令
|
|
5、进程的状态
|
|
6、进程的相关函数
1)进程的创建
|
|
getpid(void) 获取当前进程的进程号
getppid(void) 获取当前进程的父进程的进程号
2)退出一个进程
|
|
注意:不管exit在哪使用,都代表结束一个进程;而return,在子函数里面使用代码退出这个函数,而在main函数里面,代表结束程序。