系统进程


一.什么是进程

进程 : 一个正在运行中的程序

程序被触发后,执行者的权限与属性,程序的程序码与所需数据等都会被载入内存中,操作系统会给予这个内存内的单元一个识别码 (PID)。

二.查看进程

1.图形方式查看

命令:`gnome-system-monitor`


2.进程查看命令

命令:`ps`
ps	-A/-e		显示所有(包括不同终端不同用户)进程(PID,TTY,TIME,CMD)
ps	-a		当前环境中运行的进程,不包含环境信息(PID,TTY,TIME,CMD)
ps	-u (username)	显示当前(username)用户进程信息(USER,PID,CPU,MEM,VSZ,RSS,TTY,STAT,START,TIME,COMMAND)
ps	 a		显示当前终端环境中(包括不同用户)运行的进程
ps	 x		列出系统中所有运行包含tty输出设备
ps	  f		显示进程的父子关系
ps	 e		显示进程中的详细信息(列出程序所使用的环境变量)
常用组合
ps	 -aux	显示系统中所有进程并显示进程用户
ps	 -ef	显示进程详细信息并显示父子进程关系
ps	 -ax	显示系统中所有进程
ps     -o		显示进程的指定信息
ps     -o	comm	  进程名称
ps     -o	user	     进程所有人
ps     -o	group	   进程所有组
ps     -o	%cpu	   进程cpu使用率
ps     -o	%mem	 进程内存使用率
ps     -o	pid	        进程id
ps     -o	nice	      进程优先级
PID                             :进程编号
TTY                            :命令所执行的终端(tty1-tty6是本机登入者,pts/0等是网络连接主机的程序)
STAT                         :进程状态
TIME                          :运行程序占用cpu的时间
COMMAND/CMD    :改程序的实际指令
%CPU                       :进程占用CPU百分比
%MEM                       :进程占用内存百分比
VSZ                           :虚拟内存集,进程占用的虚拟内存空间
RSS                           :物理内存集,进程占用的实际物理内存空间

shell查看进程


进程排序

ps  --sort= +%cpu	     正序显示cpu占用率排序进程结果
ps  --sort= -%mem	    逆序显示内存占用率排序进程结果
按照CPU占用率顺序显示前10行


三.进程的状态与优先级

STAT 显示状态:

									R	正在运行
									S	可唤醒的睡眠状态
									D	不可唤醒的睡眠进程
									T	停止状态
									Z	僵尸进程
									l	  内存中有锁定空间
									N	优先级低
									<	优先级高
									+	前台进程
									s	顶级进程

NI 显示优先级:

1.优先级范围
-20——19(-20最高,19最低)

2.优先级查看
ps ax -o pid,nice,comm


3.改变进程优先级
renice -n  5 pid	    将进程id为pid的进程优先级变为5
renice -n -5 6574	将进程id为6574的进程优先级变为-5

运行vim并监控pid和优先级,初始优先级为0,pid为15813


利用renice -n 5 15813修改vim优先级为5


4.指定某个优先级开启进程
nice -n                      优先级数字 进程名称
nice -n -5 vim &	   后台开启vim并且指定优先级为-5


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

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

打开vim和gedit并放置后台,利用jobs查询


命令后加&直接在后台打开vim


五.进程信号

1.常用进程信号等级

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

2.利用信号等级管理进程

man 7 signal 查看信号详细信息
kill	    -信号等级 pid              对进程编号为pid的进程进行管理
killall	-信号等级 comm         对所有名称为comm进程管理
pkill  	-信号等级 -u -student 根据特定条件控制进程

打开vim并后台


强制结束进程vim


六.动态监控进程top

命令:`top`
进入top界面后输入
【s】:修改进程刷新间隔时间
【m】:根据内存占有率进行排序
【c】:根据cpu占有率进行排序
【u】:后面输入用户名,用来查看该用户
【k】:后面跟要管理的进程pid,和发起的信号(eg:9,15,20)
【q】:退出进程查看界面
【h】:显示top命令的帮助界面

输入s修改刷新时间


输入c根据cpu占有率排序