linux下的进程管理

学习目标:

  • 什么是进程
  • 进程状态
  • 进程查看
  • jobs 控制
  • 进程信号
  • 进程的动态监控top

##系统进程及服务的控制##
1.什么是进程
•程序 (program) 放置在储存媒体中 ( 如硬盘、光盘、软盘、磁带等 ),为实体文件的型态存在进程 : 程序被触发后 , 执行者的权限与属性、程序的程序码与所
需数据等都会被载入内存中 , 操作系统并给予这个内存内的单元一个识别码 (PID), 可以说 , 进程就是一个正在运行中的程序。
2.进程状态
进程状态
R (Running): 该程序正在运行中 ;
S (Sleep): 该程序目前正在睡眠状态 (idle), 但可以被唤醒
(signal) 。
D 不可被唤醒的睡眠状态 , 通常进程可能在等待 I/O 的情况。
T 停止状态 (stop), 可能是在工作控制 ( 背景暂停 ) 或除错
(traced) 状态 ;
Z (Zombie): 僵尸状态 , 程序已经终止但却无法被移除至内存外

3.查看进程
##1.图形方式查看
gnome-system-monitor
在这里插入图片描述
##2.进程查看命令

ps 	-A 	##所有进程
ps	-a	##当前环境中运行的进程,不包含环境信息
	-u	##显示进程用户信息
	a	##在当前环境中运行的进程
	x	##列出系统中所有运行包含tty输出设备
	f	##显示进程的父子关系
	e	##显示进程详细信息(系统的资源调用)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
##常用组合

ps aux ##显示系统中所有进程并显示进程用户
ps ef  ##显示进程详细信息并显示进程父子关系
ps ax	##显示当前系统中的所有进程

##显示进程指定信息

ps -o 	xxx	##显示进程的指定信息
	comm	##进程信息
	user	##进程所有人
	group	##进程所有组
	%cpu	##进程cpu使用率
	%mem	##进程内存使用率
	pid	##进程id
	nice	##进程优先级

在这里插入图片描述

##进程排序

ps ax --sort= +%cpu|-%cpu  #+加序 -减序
	      +%mem|-%mem	

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

4.进程优先级
nice:-20~19 优先级越小越高
STAT:

S	##进程状态s+
s	##顶级进程 bash相当于shell
l	##内存中有锁定空间
N	##优先级低
<	##优先级高	##前台运行

#1.优先级范围 -20~19
#2.优先级查看 复制(同时编辑两个文件复制5行 y5y)

ps ax -o pid,nice,comm,stat

在这里插入图片描述
#3.改变进程优先级

renice -n 优先级数字 进程id 
renice -n -5 6574 ##改变进程6574优先级为-5

在这里插入图片描述
在这里插入图片描述
#4.指定某个优先级开启进程

nice -n 优先级数字 进程名称
nice -n -5  vim& ##开启vim 并且指定程序优先级为-5

在这里插入图片描述
在这里插入图片描述
5.环境中进程的前后台调用
工作管理
工作管理是用在 bash 环境下的 , 当我们登陆系统取得 bash
shell 之后 , 在单一终端机接口下同时进行多个工作的行为管理。
举例来说 , 我们在登陆 bash 后 , 想要一边进行数据搜寻、一边
打开浏览器 , 还可以一边进行 vim 程序撰写 ! 这个就牵扯到工作
的前后台管理

jobs 		##查看被打入环境后台的进程
ctrl+z		##把占用终端的进程打入后台
fg jobsnum	##把后台进程调回前台
bg jobsnum	##把后台暂停的进程运行
comm &		##让命令直接在后台运行

<gedit后台>
gedit&在后台运行可以编辑
gedit ctrl+z 打入后台不能编辑
在这里插入图片描述

在这里插入图片描述
<vim后台>
vim 必须在前台运行,可见图bg 3后,vim是stopped 。
在这里插入图片描述
在这里插入图片描述

6.进程信号
###1.常用信号等级

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

<-2信号>

在这里插入图片描述
<-15,-9信号>
-15 进程被阻塞 -9 强制关闭未阻塞
在这里插入图片描述
在这里插入图片描述

<-19,-18信号>
对另一个bash执行-19后,发现bash无法输入。再进行-18命令,刚才在bash里输入的字符弹出。

在这里插入图片描述
在这里插入图片描述
<-20,-18信号>
对一个geidt 执行-20信号后,无法写入。再进行-18命令,即可写入。
在这里插入图片描述
在这里插入图片描述

<-1信号>
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述 在这里插入图片描述
在这里插入图片描述

 man 7 signal ##查看信号详细信息
 kill -信号 进程id 
 killall -信号 进程名
 pkill	-u student -信号 ##批量处理student用户的信号

< killall >

在这里插入图片描述

< pkill >
打开两个student的bash,然后执行 pkill -u student -9,两个bash强制退出了student用户。

在这里插入图片描述
在这里插入图片描述
有两个信号可以停止进程:SIGTERM和SIGKILL
SIGTERM比较友好,进程能捕捉这个信号。
根据您的需要关闭程序。
在关闭程序之前您可以结束打开的记录文件和完成正在做的任务。
在某些情况下,假如进程正在进行作业而且不能中断,那么进程可以忽略这个SIGTER信号。

对于SIGKILL信号,进程是不能忽略的。
这是一个“我不管您在做什么,立刻停止”的信号
加入您发送SIGKILL信号给进程,linux就将进程停止在那里

7.进程的动态监控
top

1 	##显示cpu每个核的负载
s	##调整刷新频率
c	##cpu负载排序
m	##内存使用量排序
h	##查看帮助
u	##查看指定用户进程
k	##对指定进程发起信号
q	##退出

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43067754/article/details/83014127