管理Linux系统中的进程

一、进程理解

  1. 含义
    程序(procedure)是静态的文件。
    进程(process)是运行中的程序的一个副本。
    • 进程存在生命周期——准备期、运行期、终止期
    准备期:把代码缓存到系统硬件中;
    运行期:就是工作时期;
    终止期:工作完成后,系统回收所占用的系统资源。
    线程(thread)被包含在进程之中,是进程中的实际运作单位,是进程运行的最小单位进程是资源调配的最小单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。
  2. 特性
    • 动态性:进程的实质是一次程序执行的过程,有创建、撤销等状态的变化。而程序是一个静态的实体。
    • 并发性:进程可以做到在一个时间段内,有多个程序在运行中。程序只是静态的实体,所以不存在并发性。
    • 独立性:进程可以独立分配资源,独立地运行。
    • 异步性:进程以不可预知的速度向前推进。
    • 结构性:进程拥有代码段、数据段、PCB(进程控制块,进程存在的唯一标志)。也正是因为有结构性,进程才可以做到独立地运行。
  3. 状态:R、S、D、T、Z
状态定义解释
R(TASK_RUNNING)可执行状态(RUNNING,READY)正在运行的,等待CPU处理后就可以运行的准备状态
S(TASK_INTERRUPTIBLE)可唤醒睡眠状态休眠的进程随时可被唤醒
D (TASK_UNINTERRUPTIBLE)不可唤醒睡眠状态休眠的进程不能被唤醒,只能等到资源条件后满足自然唤醒
T(TASK_STOPPED)暂停状态用户调整的,需要指令唤醒
z( EXIT_ZOMBIE)僵死态孤儿进程,已经停止的进程资源没有被回收,会影响系统性能

二、进程查看

1.pstree

作用:查看进程树,把进程用树型结构显示出来
在这里插入图片描述
systemd:守护进程,对子进程进行初始化,在系统开启时自动打开。

2. ps

作用:显示当前命令执行时进程状态
全称:report a snapshot of the current processes.

2.1 格式

  1. UNIX options:Linux操作系统中,命令参数之前带“-”
  2. BSD options:BSD操作系统中,命令参数之前不带“-”
  3. GNU long options:图形格式

2.2 ps命令

命令作用
ps a显示与终端相关进程(BSD)
ps x显示所有与终端无关进程(BSD)
ps u以用户为归类来显示进程状态信息(BSD)
ps f层级结构显示进程信息
ps o指定查看选项,pid,comm,nice,pri,pcpu,stat,ppid
ps -e显示所有进程(uinx)
ps -f显示完整格式信息(unix)
ps -H层级结构显示进程的相关信息
ps -o指定查看选项,pid,comm,nice,%cpu,%mem,nice

常用组合命令:
1. ps aux #查看系统中所有进程的信息
在这里插入图片描述
2. ps -e -f #显示所有进程的完整信息
在这里插入图片描述
在这里插入图片描述
PPID :父级进程id
C:CPU用量
STIM:进程开启时间,运行时间
TIME:CPU处理进程的时间
3. ps axo pid,comm,nice,… #查看进程中的指定项信息(BSD)
ps -eo pid,comm,nice,stat,… #查看进程中的指定项信息(UNIX)
在这里插入图片描述在这里插入图片描述
4. 对当前程序的某些资源排序
ps axo pid,comm,%cpu - -sort=%cpu #按CPU用量正向排序
ps axo pid,comm,%cpu - -sort=-%cpu #按CPU用量逆向排序
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
ps axo pid,comm,%cpu --sort=-%cpu | head -n 5 #显示CPU用量前4的进程
在这里插入图片描述

2.3 PS命令显示信息

字段含义
USER用户名称
PID进程id
%CPUcpu用量百分比
%MEM内存用量百分比
VSZ占用虚拟内存大小
RSS常驻内存集大小
TTY字符终端
STAT进程状态
START运行时间
TIME占用cpu时间
COMMAND进程名称

3. pgrep

作用:显示指定信息进程

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

示例:(1) 显示用户id是1000的进程
在这里插入图片描述
(2) 显示(用户id是1000=用户名是student)的进程并显示进程名称
在这里插入图片描述
(3) 显示终端是pts/1的进程及名称
(4) 显示终端是pts/1的进程及完整格式名称
在这里插入图片描述
(5) 显示14476进程的子进程
在这里插入图片描述

4. pidof

作用:根据进程名称获取pid
在这里插入图片描述

5. top

作用:实时显示进程,默认三秒钟刷新显示一次
在这里插入图片描述

5.1 显示进程信息详解

前五行统计信息详解

字符含义
top系统当期时间
up系统运行时常
user登录当前系统的用户数量
load average平均负载1分钟 5分钟 15 分钟的队列长度(uptime)
task任务
%cpucpu占用百分比
%mem物理内存
swap交换分区占用

说明:(1)us 用户空间; sy 内核空间;ni nice调整时间;id 空闲时间;wa 等待io
hi 处理硬件中断;si 处理软件中断;st 被虚拟化程序占用的百分比
(2)buff 等待写入磁盘的数据;cache 从磁盘中读取的数据

进程详细信息

字符含义
PID进程id
USER用户名称
PR优先级
NInice值
VIRT虚拟内存
RES常住内存地址
SHR共享资源
S状态
%CPUCPU用量
%MEM内存用量
TIME+占用CPU时间
COMMAND进程名称

5.2 内部参数

按键作用
Pcpu百分比排序
M内存百分比
T累计占用cpu时间
l开启/关掉uptime(系统负载)信息
t开启/关闭task&cpu信息
s调整刷新频率
k终止进程
u查看指定用户进程

在这里插入图片描述
在这里插入图片描述
设定刷新频率为一秒刷新一次
在这里插入图片描述
输入PID就可终止进程
在这里插入图片描述
查看指定student用户进程
在这里插入图片描述
在这里插入图片描述

5.3 命令参数

top -d #指定刷新间隔
top -b #以批次方式显示
top -n #显示批次数量

top -d 1 #指定一秒刷新一次
top -b -d1 #一秒显示一次,分批次不断刷新
top -b -d1 -n 2 #一秒显示一次,分两次刷新完成
在这里插入图片描述

三、进程优先级

  1. 优先级的含义:进程优先被系统资源处理
  2. 优先级的调整:普通用户的优先级只能下降不能提升;超级用户可以随意调整

1 按照资源占用划分进程类型

资源使用量进程类型举例
cpu使用密集CPU-Bound计算量大,例如:视频处理,图像处理
I/O使用密集I/O-Bound例如:编辑器,交互使用

2 优先级范围

对Linux而言优先级被划分成固定个数 (0-139),140个队列
1-99为实时有优先级,数字越大优先级越高,不能手动干预,系统自用
100-139为静态优先级,数字越小优先级越高,可以人为调整

3 NICE值

nice值用来调整优先级的数

  1. NICE值:-20~19对应静态优先级 (100-139)
  2. 普通用户只可以调低优先级,超级用户任意调整
  3. 关于优先级的命令
    (1) reince –n 优先级 程序pid #调整进程优先级
    在这里插入图片描述
    (2) nice –n 优先级 程序 #开启进程时调整指定进程优先级
    在这里插入图片描述

四、进程前后台调用

指令含义
jobs查看后台任务
ctrl+z将前台运行进程打入后台,并挂起暂停
bg激活后台进程
fg调回进程
&运行在后台,不占用终端

在这里插入图片描述
在这里插入图片描述
对于不能在后台运行,必须占用终端的进程,需要使用fg调回前台运行

五、信号

信号:进程和内核进行沟通时使用的语言

1. 可控信号类型

man 7 signal #查看信号级别
在这里插入图片描述

可控信号含义
1刷新(给进程重新加载配置,不用关闭进程
2中断键盘输入
3退出键盘
9强制结束(不会被阻塞
15正常关闭(有可能会被阻塞
18激活进程
19强制暂停(不会被阻塞
20正常暂停(可能会被阻塞

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

2. 信号指令

kill 信号 pid
killall 信号 信号名称
pkill 条件(条件可用–help查看)

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

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值