Linux系统进程

一、什么是进程

进程就是系统未完成并且正在进行的工作

二、进程状态

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

三、查看进程

1.图形方式查看

gnome-system-monitor

在这里插入图片描述

2.进程查看命令

###1.

ps 	-A				##所有进程

在这里插入图片描述

-a				##在当前环境中运行的程序,不包含环境信息

在这里插入图片描述

-u				##显示进程用户信息

在这里插入图片描述

a				##在当前环境中运行的进程
x				##列出系统中所有运行包含tty输出设备

在这里插入图片描述

f				##显示进程的父子关系
e				##显示进程的详细信息(系统资源的调用)

在这里插入图片描述

2. ps常用组合

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

在这里插入图片描述
进程树可以显示所有进程的父子关系

3. 显示进程指示信息

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

在这里插入图片描述

2.进程排序

ps ax --sort=
		+%cpu|-%cpu			##cpu负载排序
		+%mem|-%mem			##内存负载排序

“+”:正序
“-”:倒序
按照内存负载倒序排列

ps ax -o %mem,comm --sort=-%mem

在这里插入图片描述

测试

抓取系统中内存使用量排在前5的进程pid

ps ax -o pid,comm --sort=-%mem |head -n 6 | tail -n 5

在这里插入图片描述

stat中显示的信息

S	##进程状态
l	##内存中有锁定空间
N	##优先级低
<	##优先级高
+	##前台运行
s	##顶级进程
ps ax -o pid,comm,stat

在这里插入图片描述

3.进程优先级

1.进程的优先级范围

-20~19

2.优先级查看

ps ax -o pid ,nice,comm

在这里插入图片描述

3.指定某个优先级开启进程

nice -n 优先数字 进程名称
nice -n -5 vim & ##开启vim并且指定程序优先级为-5
在这里插入图片描述

4.改变程序优先级

renice -n 优先级数字 进程名称
renice -n -5 1234 ##改变进程1234的优先级为-5
截图

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

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

5.进程信号

1.常用信号等级

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

使用方法:
1.kill -信号 进程pid
示例:在这里插入图片描述
使用 ps -ax |grep firefox 选取进程中有firefox的
打开firefox后使用kill -15关闭进程,被阻塞,使用kill -9 时进程被强行结束。

 2.killall -信号  名字

示例:
在这里插入图片描述
使用watch date 产生进程
直接使用killall -9 watch强行结束进程

 3.pkill -u student -信号

示例: 在这里插入图片描述
强行关闭student的进程

6.进程的动态监控

top

在这里插入图片描述
使用top命令后可以实时动态监控进程,监控时使用规定的按键可以查看到想要的信息

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

猜你喜欢

转载自blog.csdn.net/qq_43511217/article/details/86445517