进程
进程就是系统未完成并且正在进行的工作.
1. 查看进程 - 简单语句
命令 | 功能 |
---|---|
gonme-system-monitor | 图形查看进程 |
man ps | ps命令的进程阶段 |
ps -a | 在当前环境中运行的进程,不包含环境信息 |
ps a | 在当前环境中运行的进程 |
ps -u | 显示进程用户信息 |
ps f | 显示进程的父子关系 |
ps e | 显示进程的详细信息(系统资源的调用) |
ps -A | 显示系统中所有进程信息 |
ps x | 显示没有输出终端的进程信息(包含tty字符设备) |
- 常用组合
ps aux 显示系统中所以进程并显示进程用户
ps ef 显示进程详细信息并显示进程父子关系
ps ax 显示当前系统中所有进程
pstree 显示当前系统的进程树 - 显示进程指定信息
命令 | 显示内容 |
---|---|
ps -o xxx | 显示进程的指定信息 |
ps -o comm | 进程名称 |
ps -o user | 进程所有人 |
ps -o group | 进程所有组 |
ps -o %cpu | 进程cpu使用率 |
ps -o %mem | 进程内存使用率 |
ps -o pid | 进程id |
ps -o nice | 进程优先级 |
- 进程排序
ps ax --sort=
+%cpu | -%cpu(+%由小到大排序,-%取的由大到小排序)
+%mem | -%mem
例如:
ps ax --sort=-%cpu,pid -o %cpu,pid |head -n 4|tail -n 3
按什么排序 输出排序 查看前三(先取前四包含了表头,再取后三位将表头去掉只输出进程) - stat中显示的信息(执行ps aux命令可看到STAT)
字符 | 含义 |
---|---|
S | 进程状态 |
l | 内存中有锁定空间 |
N | 优先级低 |
< | 优先级高 |
+ | 前台运行 |
s | 顶级进程 |
stat Ss+ 指状态为s+, s代表顶级进程,+代表前台运行
2. 进程优先级
-
进程的优先级范围
-20~19 -
优先级查看
ps ax -o pid,nice,comm
-
指定某个优先级开启进程
nice -n 优先级数字 进程名称
例如:nice -n -5 firefox 改变firefox进程的优先级为-5 -
环境中进程的前后台调用
命令 | 功能 |
---|---|
jobs | 查看被打入环境后台的进程 |
ctrl+z | 把占有终端的进程打入后台 |
fg jobsnum | 把后台进程调回前台例如:fg 2 |
bg jobsnum | 把后台暂停的进程运行,例如:bg 2 |
comm & | 让命令直接在后台运行 ,例如:firefox & |
- 进程信号
1 进程重新加载配置而不关闭
2 删除进程在内存中的数据
3 删除鼠标在内存中的数据
9 强行结束单个进程(不能被阻塞)
15 正常关闭进程(可能会被阻塞)
18 运行暂停的进程
19 暂停某个进程(不能被阻塞)
20 把进程打入后台
man 7 signal 查看信号详细信息
kill -信号 进程pid
killall -信号 进程名字
pkill -u student -信号
使用killall -19 firefox命令后,进程中依然有firefox,但是firefox浏览器不可使用,必须使用kill -18 firefox命令恢复运行。
3. 进程中的动态监控
执行 top进入进程的动态监控页面
l. 显示cpu每个核的负载
s 调整刷新频率(按s键后如图所示会出现一行语句在to后输入你要的刷新频率)
c cpu负载排序
m 内存使用量排序
h 查看帮助
u 查看指定用户进程(同上s的使用方法)
k 对指定进程发起信号(同上s的使用方法)
q 退出
4. 控制服务
- 当前系统初始化进程
systemd 系统初始化进程
pstree 显示系统中的进程树 - 进程控制命令
systemctl 服务控制命令
systemctl status sshd 查看服务状态,inactive(不可用),active(可用)
systemctl start sshd 开启服务
systemctl stop sshd 关闭服务
systemctl restart sshd 重启服务
systemctl reload sshd 重新加载服务配置
systemctl enable sshd 设定服务开机启动
systemctl disable sshd 设定开机不启动
systemctl list-units 列出已经开启服务当前状态
systemctl list-unit-files 列出所有服务开机启动状态(disable,enable,static)
systemctl list-dependencies 列出服务的依赖
systemctl set-default multi-user,target 设定系统启动级别为多用户模式
systemctl set-default graphical.target 设定系统启动级别为图形模式
例如:
上图中我们查看sshd的状态可以看见其是可用并且开机启动的。使用disable操作后,再次打开虚拟机sshd服务将不会开启。