【Linux】进程概述和进程状态转换(查看进程、实时显示进程动态、杀死进程等)

150 阅读2分钟

进程概述

  • 进程是正在运行的程序的实例,是基本的分配单元也是基本的执行单元。

  • 可以用一个程序来创建多个进程,进程是由内核定义的抽象实体,并为该实体分配用以执行程序的各项系统资源。

  • 单道程序:计算机内存中只允许一个程序运行

  • 多道程序:计算机内存中同时放几道相互独立的程序,使它们在调度下,相互穿插运行。

  • 时间片:操作系统分配给每个正在运行的进程微观上的一段时间。

  • 并行:指在同一时刻,有多条指令在多个处理器上同时执行。

  • 并发:指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行。(比如天猫双11,同一时刻很多人访问服务器,如何使服务器不崩掉,这就是并发的一个问题)

  • 内核为每个进程分配一个 PCB 进程控制块,维护进程相关的信息,Linux 内核的进程控制块是 task_struct 结构体(/usr/src/linux-headers-xxx/include/linux/sched.h 中可查看struct task_struct结构体的定义),掌握以下部分即可: 在这里插入图片描述 在这里插入图片描述

进程状态转换

进程的状态


三态模型 在这里插入图片描述


五态模型

在这里插入图片描述

进程相关命令

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述 示例:

输入top指令并按下enter后: 在这里插入图片描述

在这里插入图片描述 示例: 在这里插入图片描述

这些信号其实也就是宏,kill -9 pid这个其实也就是调用了编号为9的宏,由上图可以看到,宏名称为SIGKILL。该命令就是强制杀死,哪怕是自己当前的登录页面也可以杀死,使其直接退出登录。

在这里插入图片描述