什么是进程?
进程就是系统中正在运行的程序
1.图形的进程查看方式
gnome-system-moniter
输入指令后,就打开了如下图的进程管理器,相当于iwindows的任务管理器,可以查看正在运行的程序
提示: “ls /proc“:查看进程信息
2.查看进程的命令
指令 | 解释 |
---|---|
ps | 查看与当前环境相关的进程 |
ps a | 与当前环境相关的所有进程 |
ps -a | 终端中运行的进程但不包含当前环境进程信息 |
ps -A | 查看系统所有的进程 |
ps -e | 查看系统中所有的进程 |
ps x | 查看系统中所有含有输出终端的进程 |
ps f | 查看进程的从属关系 |
ps u | 进程的所有人 |
ps ax | 显示所有的进程 |
ps aux | 显示包含其他使用者的进程信息 |
ps -o | 可以设置指定的信息 |
- 显示指定的信息
ps ax -o comm,nice,PID,%cpu,%MEN,VSZ,RSS,TTY,STAT,START,TIME,COMMAND
来了解一下上面指令的含义:
指令 | 作用 |
---|---|
comm | 该指令表示会从指定的输入设备中读取数据 |
nice | 该指令表示优先级 |
%cpu | 进程在cpu中的占有率 |
%men | 进程的物理内存占有率 |
VSZ | 虚拟内存占用的大小 |
RSS | 占有固定内存的大小 |
TTY | 字符设备 |
stat | 该程序目前的状态 |
start | 进程开始的时间 |
time | 进程执行的时间 |
command | 所执行的命令 |
接下来我们看看进程状态的一些理解:
指令 | 作用 |
---|---|
S | 进程状态 |
s | 此进程为顶级进程 |
T | 进程暂停 |
< | 进程优先级高 |
N | 进程优先级低 |
+ | 正在运行 |
D | 不可中断的静止 |
R | 正在执行中 |
Z | 已经停止但是暂时无法消除 |
W | 没有足够的内存去分配 |
3.排序显示进程的信息
- 按cpu使用率从小到大进行排序:
ps ax --sort=%cpu
- 按cpu是使用率从大到小进行排序:
ps ax --sort=-%cpu
提示:获取前五行的“head -n 5”,获取后五行的是“tail -n 5”;获取3~5行的是“sed -n 3,5p”
4.进程的优先级
优先级的数值是-20~19,数值越小优先级越高,默认的数值是10.
普通用户的数值只有0-19,超级用户才是-20~19
- 修改进程的优先级:
renice -n -5 pid
由上图可以看出我们可以通过pid修改进程的优先级
- 指定优先级开启进程
nice -n -5 命令&
提示:-5是可以变化的,在-19~20中选择优先级,“&”
这里的代表的是将启动的程序放到后台
5.进程前后台的调用
将已启动的程序打入后台并停止运行:ctrl+z
将启动的程序的进程结束掉:ctrl+c
如图所示crtl+z将文本放入了后台并停止运行,图片中是我手动将文本放出来的,只是为了展示文本无法编辑
- 查看被打入后台的进程:jobs
如图所示,我将gedit以及vim放进了后台,所以jobs指令可以直接查看后台进程
- 将指定进程在后台运行:
bg jobsnum
- 将指定进程调回前台
fg jobsnum
6.信号
- 常用的信号理解
信号 | 作用 |
---|---|
1 | 进程不停止情况下重新加载配置 |
2 | 清除进程在内存中的数据 |
3 | 清除鼠标在内存中的数据 |
9 | 强行结束进程,不能被阻塞 |
15 | 正常关闭进程 |
18 | 运行停止的进程 |
19 | 暂停进程,不能被阻塞 |
20 | 暂停进程,可以被阻塞 |
- 执行kill
kill 信号 pid
killall 信号 进程名
这个是当一个程序被同时开启多次时,可以用它去结束