UNIX标准把进程定义为
一个其中运行着一个或者多个线程的地址空间和这些线程所需要的系统资源,我们可以将进程看作是正在运行的程序。
进程与程序的区别
- 程序是静态的,它是一些保存在磁盘上的指令的有序集合,没有任何执行的概念。(如图中查看执行文件的内部段就是程序,好比菜谱)

- 进程是一个动态概念,它是程序执行的过程,包括创建、调度和消亡。(就是程序当下的一种状态,好比按照菜谱做菜,)

- 下面更加具体地介绍程序与进程:

进程与线程
- 进程是资源管理的最小单位
(如上图)一旦启动进程,系统就会为其分配一整套资源(信号处理,内容,文件等)因此,系统是以进程来管理的。 - 线程是系统调度的最小单位

- 一个进程中能够拥有多个线程,线程之间可以共享资源。
- 但是内核在调度进程给CPU运行时,调度的对象是线程。
查看进程的属性与状态
进程的“身份证”
- 每一个进程都拥有唯一的”身份证号码“,称之为PID
- 每一个进程都拥有其双亲进程,称之为父进程
使用ps -ef来查看:每一行代表一个进程

pstree更加直观地查看进程之间的”父辈关系“

本文深入探讨了UNIX标准下进程的定义,将其视为运行中包含一个或多个线程的地址空间及所需系统资源的集合。文章详细区分了进程与程序的本质不同,前者是动态执行过程,后者是静态指令集合。此外,还介绍了进程与线程的角色,指出进程是资源管理的最小单位,而线程则是系统调度的最小单位,并解释了如何通过ps和pstree命令查看进程的属性和状态。

被折叠的 条评论
为什么被折叠?



