一.进程的概念
进程就是系统未完成并且正在进行的工作
二.查看进程
1.图形方式查看
gnome-system-monitor
2.进程查看命令
命令 | 作用 |
---|---|
ps -A | 查看所有进程 |
ps -a | 查看在环境中的所有进程,不包含环境信息 |
ps -u | 显示进程用户信息 |
ps a | 显示当前环境中运行的进程,包含环境信息 |
ps x | 显示系统中所有运行且包含tty输出设备的进程 |
ps f | 显示进程的父子关系 |
ps e | 显示进程的详细信息(系统资源的调用) |
ps常用组合:
ps aux显示系统中所有进程并显示进程用户信息
ps ef显示进程详细信息并显示进程的父子关系
ps ax显示当前系统中的所有进程
ps tree显示当前系统的进程树
显示进程指定信息
ps -o xxx显示进程的指定信息
命令 | 作用 |
---|---|
ps -o comm | 显示进程名称 |
ps -o user | 显示进程所有人 |
ps -o group | 显示进程所有组 |
ps -o pid | 显示进程id |
ps -o %cpu | 显示进程cpu使用率 |
=ps -o %mem | 显示进程内存使用率 |
ps -o nice | 显示进程优先级 |
进程排序
进程按照cpu占有量排序
ps ax --sort = +%cpu(从小到大)
ps ax --sort = -%cpu(从大到小)
进程按照内存占有量排序
ps ax --sort = +%mem(从小到大)
ps ax --sort = -%mem(从大到小)
练习:取cpu占有量前五的进程的pid
ps ax -o pid --sort=-%cpu | head -n 6 | tail -n 5
stat中显示的信息
符号 | 含义 |
---|---|
S | 进程状态 |
l | 该进程在内存中有锁定空间 |
N | 该进程优先级低 |
< | 该进程优先级高 |
+ | 该进程前台运行 |
s | 顶级进程 |
3.进程优先级
(1)进程的优先级范围: -20~19 (从高到低,0为正常)
(2)优先级查看
ps ax -o comm,pid,nice
(3)指定某个优先级开启进程
nice -n 优先级数字 进程名称
nice -n 10 vim开启vim并指定其优先级为10
(4)改变进程优先级
renice -n 优先级数字 进程pid
renice -n 1 31007将pid为31007的进程优先级改变为1
4.环境中进程的前后台调用
命令 | 作用 |
---|---|
jobs | 查看被打入环境后台的进程 |
ctrl+z | 把占用终端的进程打入后台 |
fg jobsnum | 把后台运行的进程调回前台 |
bg jobsnum | 把后台暂停的进程运行起来 |
comm & | 让命令直接在后台运行 |
5.进程信号
(1)常用信号等级
kill 向进程发起信号
信号等级 | 作用 |
---|---|
1 | 进程重新加载配置 |
2 | 删除进程在内存中的数据(Ctrl+c) |
3 | 删除鼠标在内存中的数据(Ctrl+/) |
9 | 强行结束单个进程(不能被阻塞) |
15 | 正常关闭进程(可能会被阻塞) |
18 | 运行暂停的进程 |
19 | 暂停某个进程 (不能被阻塞) |
20 | 把进程打入后台 (可以被阻塞) |
man 7 signal | 查看信号详细信息 |
kill -信号 进程pid
killall -信号 进程名字
pkill -u student -信号
6.进程的动态监控
命令 | 作用 |
---|---|
top 1. | 显示cpu每个核的负载 |
top s | 调整刷新频率 |
top c | CPU负载排序 |
top m | 内存使用量排序 |
top h | 查看帮助 |
top u | 查看指定用户进程 |
top k | 对指定进程发起信号 |
top q | 退出 |
7.控制服务
(1)用什么控制服务:系统初始化进程可以对服务进行相应的控制
(2)当前系统初始化进程:
systemd ##系统初始化进程
pstree ##显示系统中的进程树
(3)进程控制命令
ssh----->sshd ssh访问sshd
server服务器
client客户端
systemctl服务控制命令
命令 | 作用 |
---|---|
systemctl status sshd | 查看服务状态,inactive(不可用),active(可用) |
systemctl start sshd | 开启服务 |
systemctl stop sshd | 关闭服务(关闭sshd,则别人不能连接,对自己无影响) |
systemctl restart sshd | 重启服务 (ip会改变,关闭-开启) |
systemctl reload sshd | 重新加载服务配置(ip不会改变) |
systemctl enable sshd | 设定服务开机启动 |
systemctl disable sshd | 设定服务开机不启动 |
systemctl list-units | 列出已经开启服务的当前状态 |
systemctl list-unit-fil | 列出所有服务开机启动的状态 <disable,enable,static> |
systemctl list-dependencies | 列出服务的倚赖 |
systemctl set-default multi-user.target | 设定系统启动级别为多用户模式(无图形) |
systemctl set-default graphical.target | 设定系统启动级别为图形模式 |
systemctl enable sshd.service
reboot
(登陆root)
systemctl status sshd.service
systemctl disable sshd.service
reboot
(登陆root)
systemctl status sshd.service