温故Linux 操作系统07:进程管理

进程

程序(program)放置在储存媒体中,(如硬盘,光盘,软盘,磁带中),为实体文件的形态存在
进程:进程被触发后,执行者的权限与属性,程序的程序码与所需数据等都会被载入内存中,操作系统并给予这个内存内的单元一个识别码(PID),可以说,进程就是一个正在运行的程序,进程是资源分配的最小单元,程序并不是进程。
线程:一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。在Unix System V及SunOS中也被称为轻量进程(lightweight processes),但轻量进程更多指内核线程(kernel thread),而把用户线程(user thread)称为线程。

1.查看进程:图形化查看

方法一:Application---->System Tools---->System Monitor
在这里插入图片描述
方法二:gnome-system-monitor
在这里插入图片描述

2.查看进程:PS命令查看

先介绍下进程的状态:

状态 含义
R ##该程序正在运行中
S ##该程序正在睡眠状态,但是可被唤醒
D ##不可被唤醒的睡眠状态
T ##停止状态,可能是在工作控制或出错状态
Z ##僵尸状态,程序已经终止但无法移除至内存外

ps l即可查看进程的状态``
在这里插入图片描述
STAT即代表进程的状态
在上面我们初步接触到了如何命令查看进程(状态),即ps命令,下面介绍一些其他的ps命令

2.1单参数ps命令

命令 参数 含义
ps -A ##所有进程
x ##列出系统中所有运行的进程,包含tyy(字符输出设备的)进程
(通常与a参数一起使用,可列出比较完整的信息)
-a ##在当前环境中运行的进程,不包含环境信息
a ##在当前环境中运行的所有进程
-u ##显示进程用户信息
f ##显示进程的父子关系
e ##显示进程的详细信息(系统资源的调用)
l ##长列表显示进程的详情

在这里插入图片描述

2.2组合参数ps命令

有时候仅仅单参数远远达不到我们学习和工作的需求,此时就需要我们灵活地组合一些参数来使用

命令 参数 含义
ps aux ##显示系统中所有进程并显示进程用户
ef ##显示进程详细信息并显示进程父子关系
ax ##显示当前系统中的所有进程
pstree ##显示当前系统的进程树

最常用的方法是ps aux,然后再利用一个管道符号导向到grep去查找特定的进程,然后再对特定的进程进行操作
在这里插入图片描述
在这里插入图片描述
ps aux 产生的表头信息:

  USER:进程是哪个用户产生
  PID:进程的ID号
  %CPU:进程占用CPU资源的百分比,占用越高,进程越耗费资源
  %MEM:进程占用物理内存的百分比,占用越高,进程越耗费资源
  VSZ:进程占用虚拟内存的大小,单位KB
  RSS:进程占用实际物理内存的大小,单位KB
  TTY:进程在哪个终端运行,tty1-tty6是本地字符界面终端,tty7是本地图形终端。pts/0-255代表虚拟终端
  STAT:进程状态:R(运行)S(睡眠)T(停止)s(包含子进程)+(位于后台)Z(僵死)<(优先级高)N(优先级高)
  START:进程的启动时间
  TIME:该进程占用CPU的运算时间,注意不是系统时间
  COMMAND:进程是哪个命令产生

进程树:
在这里插入图片描述
进程树的根为系统初始化进程

2.3显示进程指定信息

ps ax -o xxx		##显示所有进程的指定信息(不加ax则为静态查看)
-----------------------------------------
ps ax -o comm		##进程名称
ps ax -o user		##进程所有人
ps ax -o group		##进程所有组
ps ax -o %cpu		##进程cpu使用率
ps ax -o %mem		##进程内存使用率
ps ax -o pid		##进程id
ps ax -o nice		##进程优先级
ps ax -o stat

在显示进程指定信息的时候,-o后面的参数可以组合使用,只需在参数之间加上逗号即可
在这里插入图片描述

3.进程的优先级

进程的优先级范围:-20~19
优先级查看:ps ax -o pid,nice,comm,表头为NI
在这里插入图片描述
指定某个优先级开启进程:

nice -n 优先级数字	进程名称
例:nice -n -5 firefox &				##开启firedfox并且指定程序优先级为-5
注:&表示把进程打入后台

例:
在这里插入图片描述
改变进程的优先级:

renice -n 优先级数字 进程pid
renice -n -10 3166          ##改变3166进程的优先级为-10

在这里插入图片描述

4.环境中进程的前后台调用

命令或者快捷键 说明
jobs ##查看被打入环境后台的进程
ctrl+z ##把占用终端的进程打入后台
fg jobsnum ##把后台暂停的进程运行
comm & ##让命令直接在后台运行

在这里插入图片描述
上图是直接运行(前台运行)firefox,然后ctrl+z把firefox打入后台:
在这里插入图片描述
依次在后台运行一个新的firefox,然后查看后台运行进程,然后把后台暂停掉的程序重新运行
注:+表示默认操作,-表示次默认操作

5.进程信号

常用的进程信号:

1      ##进程重新加载配置
2      ##删除进程在内存中的数据
3      ##删除鼠标在内存中的数据
9      ##强行结束单个进程(不能被阻塞)
15    ##正常关闭进程 (可能会被阻塞)
18    ##运行暂停的进程
19    ##暂停某个进程 (不能被阻塞)
20    ##把进程打入后台 (可以被阻塞)
man 7 signal            ##查看信号详细信息

kill -信号 进程pid         ##发起信号
killall -信号 进程名字

信号2相当于快捷键ctrl+c
在这里插入图片描述
kill -9 firefox 示范:
在这里插入图片描述

6.top命令

top命令即为进程的动态监控,可以实时检测进程信息

执行top后,再键入如下命令的作用
-----------------------------
1     ##显示cpu每个核的负载
s     ##调整刷新频率
c     ##cpu负载排序
m     ##内存使用量排序
h     ##查看帮助
u     ##查看指定用户进程
k     ##对指定用户发起信号
q     ##退出

例如,调整刷新频率为1秒,则键入s后输入1然后回车:
在这里插入图片描述
top命令前五行队列信息:

  • 第一行:任务队列信息

20:14:43代表系统当前时间,up 34 min代表系统运行了34分钟,3 users代表系统有三个登录用户,0.00,0.03,0.08分别代表1,5,15的平均荷载
注:
系统运行时间:时间越长,表示服务器运行的时间越长,但并不好,应该定时重启服务器,让状态归0,降低故障率
  平均负载:通常认为小于1,但并不准确

  • 第二行:进程信息

149 total 代表系统中的进程数为149个,后面的意思参考英文

  • 第三行: cpu信息,

96.0 id 代表空闲cpu的百分比为96%

  • 第四行:物理内存信息

free为空闲物理的内存数量,buffers为作为缓冲的内存数量

  • 第五行:交换分区信息

free为空闲交换分区大小,cached Men为作为缓存的分区大小
注:
缓冲:加速数据写入;缓存:加速数据读取

发布了39 篇原创文章 · 获赞 4 · 访问量 725

猜你喜欢

转载自blog.csdn.net/weixin_44718794/article/details/102751523
今日推荐