liunx中的进程管理

  1. 什么是进程:
    程序放置在储存媒体中为实体的型态存在。
    进程:程序被触发后,执行者的权限与属性、程序的程序码与所需数据等都会被载入内存中,操作系统并给予内存内的单元一个识别码(PID),也就是说进程就是一个正在运行的程序。

  2. 进程的状态:
    R (Runing)
    ###该程序正在运行###
    S(Sleep)
    ###该程序正在睡眠状态(idle),但可以被唤醒(signal)###
    D
    ###不可被唤醒状态,通常金城在等待 I/O 的情况###
    T
    ###停止状态(stop),可能是在工作控制(背景暂停)或除错(traced)状态###
    Z(Zombie)
    ###僵尸状态,程序已经终止但却无法移除内存外###

  3. 如何查看进程:
    图形方式查看
    1)图形方式查看
    gonme-system-monitor
    2)命令查看进程
    ps :静态查看进程
    -A:
    ## 所有的process均显示出来,与-e具有同样的效用###
    –a:
    ###不与terminal有关的所有process###
    –u:
    ###有效使用者(effective user)相关的process·###
    x:
    ###通常与a这个参数一起使用,可列出较完整信息###
    I:
    ###较长较详细将该PID的信息列出###
    –f:
    ###做一个更完整的输出###
    3)ps的常用组合:
    ps aux
    ###显示系统中所有进程并显示进程用户###
    在这里插入图片描述
    px ef
    ###显示进程详细信息并显示父子关系###
    在这里插入图片描述ps ax
    ###显示当前系统中所有的进程信息####
    在这里插入图片描述
    pstree
    ###当前系统的进程树###
    在这里插入图片描述
    4)显示进程指定信息
    ps -o comm
    ###显示进程名称###
    在这里插入图片描述
    ps -o user
    ###显示进程所有人###
    在这里插入图片描述
    ps -o group
    ###现实进程所有组###
    在这里插入图片描述
    ps -o %cpu
    ###显示进程cpu使用率###
    在这里插入图片描述
    ps -o %mem
    ###显示内存使用率###
    在这里插入图片描述
    ps -o pid
    ###显示进程pid###
    在这里插入图片描述
    ps -o nice
    ###显示进程优先级###
    在这里插入图片描述

  4. 进程的排序:
    ps
    ax - -sort= +%cpu
    ax - -sort= +%mem
    在这里插入图片描述
    在这里插入图片描述
    stat中显示的信息
    S
    ###进程状态##
    l
    ###内存中有锁定进程###
    N
    ###优先级低###
    <
    ###优先级高###
    +
    ####前台运行###
    s
    ###顶级进程###
    在这里插入图片描述

  5. 进程优先级:
    为什么要有优先级:在多任务操作系统中,操作系统为了区分进程的重要程度,需要一个衡量重要程度的指标,优先级便由此产生。在进程中,优先级高的先执行,系统资源也优先分配给进程优先级高的进程,不仅如此在同一调度周期中,优先级高的进程占用的时间也比优先级低的长。

进程的优先级范围:
-20~19
优先级的查看
ps ax -o pid,nice,comm
###优先级的id,值,名称###
在这里插入图片描述
指定某个优先级开启程序:
nice -n 优先级数字 进程名称
eg:
nice -n 5 vim
在这里插入图片描述
改变进程优先级:
renice -n 优先级数字 进程pid
eg:
renice -n -5 1806
###改变1806进程优先级为-5###
在这里插入图片描述
在这里插入图片描述
6. 环境中进程前后台调用:
jobs
###查看被打入后台的进程###
Ctrl+z
###把占用进程的终端打入后台###
fg jobsnum
###把后台进程调回前台###
bg jobsnum
###把后台暂停的进程运行###
comm &
###让命令直接在后台运行###
7. 进程信号:
1
###进程重新加载配置###
2
###删除进程在内存中的数据###
3
###删除鼠标在内存中的数据###
9
###强行结束单个进程(不能被阻塞)###
15
###正常关闭进程(可以被阻塞)###
18
###运行暂停程序###
19
###暂停某个进程(不能被阻塞)###
20
###把进程打入后台(可以被阻塞)###
man 7 signal
###查看信号信息###
kill -信号 进程pid
killall -信号 进程名称
pkill -u student -信号
在这里插入图片描述
在这里插入图片描述
8. 进程的动态监控:
1.top
###进行进程动态监控###
l
##显示cpu每个核的负载###
s
##调整刷新频率##
c
##cpu负载排序##
m
##内存使用量排序##
h
##查看帮助##
u
##查看指定用户进程##
k
##对指定进程发起信号##
q
##退出##
按s 调整刷新频率,我们可以随机调整刷新时间在这里插入图片描述
“u”查看指定用户进程
在这里插入图片描述
"h"查看帮助
在这里插入图片描述
我们还可以按k对指定进程发出信号!

猜你喜欢

转载自blog.csdn.net/weixin_44846409/article/details/88984513