Linux学习-单元7-Linux系统下的进程管理

1.进程的基本知识介绍

简单的来说,进程就是程序运行时的状态(动态)。进程是运行程序中的一个副本,在程序的运行过程中会把程序复制到内存缓存空间中。

进程存在的生命周期
准备期:程序代码直接缓存在系统硬件上
运行期:程序代码处于工作执行的状态
终止期:工作完成后系统把所占用的系统资源进行全部回收

注意:终止期会将在工作结束后,把所有占用的系统资源进行全部回收,如若不进行此项操作,系统中垃圾会越来越多,直至系统崩溃。

进程&线程关系
1.进程是资源调用的最小单位
2.线程是进程的最小单位
3.程序执行流是从上倒下贯穿运行的,当进程是多任务物,cpu是多核心,多任务应该同时被每个核心处理,每个核心处理的任务叫线程
4.线程资源是共享的进程是资源调配的最小单位,线程是进程的最小单位,进程中的所有资源被线程共享==

  • 进程的状态分类及解释
进程的的状态 状态解释
R(TAKS_RUNNING) 可执行态(running,ready)
S(TASK_INTRRUPTABLE) 可唤醒休眠
D(TASK_UNINTRRUPTABLE) 不可唤醒休眠
T(TASK_STOP) 暂停状态
Z(EXIT_ZOMBIE) 僵死状态

2.进程的查看

2.1 利用图形查看工具查看进程

gnome-system-monitor 图形进程查看工具 来查看进程

在这里插入图片描述

2.2 利用ps命令查看进程

在这里插入图片描述
ps命令显示当前命令执行时的状态

ps命令使用的详解可用man ps查看

在这里插入图片描述

2.2.1 ps命令的常见参数与解释

1.BSD 风格 (常用命令参数)

ps命令+参数 参数解释
a 与终端相关的进程(当用户登陆系统后产生的进程都是带终端的)
x 与终端无关相关的进程
u 用户信息归类的查看方式
f 进程层级关系
o 指定查看选项,pid,comm,nice,%cpu,%mem

2.UNIX 风格 (常用命令参数)

ps命令+参数 参数解释
-o 指定查看选项,pid,comm,nice,%cpu,%mem,nice (unix)
-e 显示所有进程
-f 显示信息的完整格式
-H 显示进程的层级结构
- -sort=uid,-ppid,+pid 按某种参数进行排序显示

区别:UNLIX参数带(-)和BSD格式参数不带(-)

2.2.2 ps 命令显示信息

ps aux显示信息如下:
在这里插入图片描述

ps aux显示的信息 解释
USER 进程所有人
PID 进程id
%CPU 进程占用cpu的百分比
%MEM 进程占用内存资源的百分比
VSZ 进程使用的虚拟内存大小
RSS 进程常驻内存中的数据大小
TTY 进程用到的终端
STAT 进程状态
START 进程运行时长
TIME 进程占用cpu时长
COMMAND 进程名称
  • ps  a——显示与终端相关进程(BSD运行方式)

在这里插入图片描述


在这里插入图片描述


•ps  x——显示所有与终端无关进程(BSD运行方式)

在这里插入图片描述


•ps  ax——显示所有进程,包括与终端相关进程和与终端无关进程(BSD运行方式)
注意:ps ax显示进程以资源的方式进行归类(PID从小到大排列)

在这里插入图片描述


•ps  u——以用户为归类来显示进程状态信息(BSD运行方式)

在这里插入图片描述


•ps  f ——层级结构显示进程信息(BSD运行方式)

在这里插入图片描述


  • ps  -e 显示所有进程(UNIX运行方式)

在这里插入图片描述


• ps -f 显示完整格式信息(UNIX运行方式)

在这里插入图片描述


• ps  -H 层级结构显示进程的相关信息(UNIX运行方式)

在这里插入图片描述


  • ps  -o 指定查看选项,如pid,comm,%cpu,%mem,nice

在这里插入图片描述


ps可以对当前的某些资源进行排序

ps axo pid,comm,%mem --sort=%mem正序显示

在这里插入图片描述


ps axo pid,comm,%mem --sort=-%mem反序显示
在这里插入图片描述
在这里插入图片描述


2.3 pgrep 命令—— 进程过滤

pgrep 命令 指令解释
-u uid 显示指定用户进程
-U user 显示指定用户进程
-t tty 显示指定终端进程
-l 显示进程名称
-a 显示进程的完整名称
-P pid 显示指定进程的子进程

在这里插入图片描述

2.4 pidof 根据进程名称获取pid

  • pidof 指令 ——查看一个命令进程的ID

在这里插入图片描述
在这里插入图片描述

2.5 top命令的用法

top 命令 —— 动态进程查看
top中的内容显示信息:(ctrl +c结束查看)

top命令可以真实查看进程状况,具有实时显示功能,默认3s刷新一次。

top 显 示 进 程 信 息
top–系统当前时间
up:系统运行时长
user:登录当前系统的用户数量
oad average:系统的负载,分别代表平均负载1分钟 5分钟 15 分钟的队列长度
task–任务总量
running:运行进程数量
sleeping:休眠进程数量
stopped:暂停进程数量
zombie:僵死进程数量
%cpu(s)–cpu占用百分比/使用量
us:用户空间,用户占用CPU量
sy:内核空间,内核占用CPU量
ni :nice,进程优先级调整占用的CPU量调整时间
id:空闲时间
wa :等待I/O输入输出时间
hi:处理硬件中断时间
si:处理软件中断时间
st :被虚拟化程序占用的百分比
buff/cache:缓存=buff等待写入磁盘的+cache读取的,都可以被系统回收利用(内存的
Swap:虚拟内存使用量,交换分区占用
PR–优先级
NI :优先级代表的nice值
VIRT:虚拟CPU
RES:常驻内存
SHR:贡献资源
S:状态

top命令的参数

top命令的参数 命令解释
top -d 指定刷新频率
top -b 以批次方式显示
top -n 指定显示的批次数量

top -d 1 指定刷新频率为1s

在这里插入图片描述
在这里插入图片描述

top -b 以批次方式显示
top -b -d1 以批次的方式,指定刷新频率为1s进行显示

在这里插入图片描述

在这里插入图片描述
top -n 以批次方式显示

top -b -d1 -n 2 以批次的方式,指定刷新频率为1s,批次数量为2进行显示

在这里插入图片描述
在这里插入图片描述


top的相关参数解释说明

top内部参数 功能
P cpu百分比排序
M 内存百分比
T 累计占用cpu时间
l 开启/关掉uptime信息
t 开启/关闭task&cpu信息
s 调整刷新频率
k 终止进程
u 查看指定用户进程

3.进程优先级

内核优先级的范围

  • 对Linux而言优先级被划分成固定个数 (0-139),共140个优先级(内核把程序划分为140个队列)
  • 1-99为实时有优先级,数字越大优先级越高,不能人为干预,是内核对于程序本身的控制,系统自用
  • 100-139为静态优先级(共40个),数字越小优先级越高,是人为能干预的

NICE值
NICE值:-20~19对用静态优先级,数字越小优先级越高
普通用户只可以调低优先级,超级用户任意调整

关于优先级的命令 功能
ps   ax  –o nice 查看进程优先级
reince  –n  优先级的值  pid 更改进程优先级
nice   –n  优先级  程序 调整开启进程时的指定优先级

reince  –n  优先级的值  pid :更改进程优先级

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
nice   –n  优先级  程序:调整开启进程时的指定优先级

在这里插入图片描述
在这里插入图片描述

注意:状态的一些说明

stat(状态) 解释说明
S sleeping
< 优先级高
s 顶级进程
T stop
N 优先级低
R running
+ 运行在前台

4.程序的前后台的调用

进程前后台调用相关命令

指令 功能
ctrl+z 把占用shell的进程打入后台挂起
bg 把后台挂起的进程运行起来
fg 把后台进程调回前台
& 运行进程在后台
jobs 查看当前shell中后台所有工作

ctrl+z :把占用shell的进程打入后台挂起

在这里插入图片描述


jobs : 查看当前shell中后台所有工作|

在这里插入图片描述


bg+后台运行job编号:把后台挂起的进程运行起来

在这里插入图片描述

在这里插入图片描述


fg +后台运行job编号:把后台进程调回前台

在这里插入图片描述


&:开启时直接在后台进行执行

在这里插入图片描述


5.进程信息号

进程信息号可以用man 7 signal指令进行查看

在这里插入图片描述

5.1 进程信号中可控信号类型

可控进程信号 信号含义
1 重新加载系统配置文件(source)
2 中断键盘输入
3 清空内存中的鼠标(ctrl+ \ )
9 强行结束进程(不能被阻塞)
15 正常关闭进程(会被阻塞)
18 运行被暂停的进程
19 暂停进程(不会被系统阻塞)
20 暂停进程(会被系统阻塞的)

1 —重新加载系统配置文件


2 —中断键盘输入

在这里插入图片描述


3 —清空内存中的鼠标(ctrl+ \ )


9— 强行结束进程(不能被阻塞)

在这里插入图片描述


15 — 正常关闭进程(会被阻塞)

在这里插入图片描述


18— 运行被暂停的进程

在这里插入图片描述


19—强制暂停进程(不会被系统阻塞)
在这里插入图片描述


20 —正常暂停进程(会被系统阻塞的)

在这里插入图片描述

5.2 进程信号控制工具

1.kill 进程信号 pid

在这里插入图片描述

2.killall 进程信号 进程名字

在这里插入图片描述

3.pkill 信号 进程名称

在这里插入图片描述


猜你喜欢

转载自blog.csdn.net/qq_41537102/article/details/109208257