一.进程的了解
1、进程的概念
进程就是系统未完成并且正在进行的工作(比如运行中的软件)
线程:程序调用的最小单元(线程使用的系统资源可以来回切换)
进程:资源调用的最小单元(进程使用的系统资源不可以切换)
2、进程的状态
状态 | 意义 |
---|
R(Running) | 该程序正在运行 |
S(Sleeping) | 该程序正在休眠,但可以被唤醒(通过signal) |
D | 该程序正在睡眠,不可被唤醒 |
T(stop) | 停止状态,可能是在工作控制(背景暂停)或者除错(traced)的状态 |
Z(Zombie) | 该程序处于僵尸状态,程序已经终止,但是无法被移除至内存外(无法结束进程) |
3、如何查看进程
1)图形方式查看
gnome-system-monitor
2)进程查看命令
ps:静态查看进程信息
命令 | 功能 |
---|
ps -A | 系统所有环境中的所有进程 |
ps -a | 当前环境中的所有进程,不包括自身环境的进程 |
ps -u | 显示进程的用户信息 |
ps a | 显示当前环境中运行的进程,包括环境信息(自身环境的进程) |
ps x | 列出系统中所有包含tty输出设备,在环境中有终端的才会显示出来,通常与a一起使用,可列出较完整的信息 |
ps f | 显示进程的父子关系 |
ps e | 显示进程的详细信息(系统资源的调用信息) |
ps l | 较长、较详细的将该PID的信息列出 |
(3)常用ps组合
命令 | 功能 |
---|
ps aux | 显示系统中所有进程,并显示进程用户 |
ps ef | 显示进程详细信息并显示进程父子关系 |
ps ax | 显示当前系统的所有进程 |
pstree | 显示当前系统的进程树 |
(4)显示进程指定信息
命令 | 功能 |
---|
ps -o xxx | 显示进程的指定信息 |
ps -o comm | 显示进程名称 |
ps -o user | 显示进程所有人 |
ps -o group | 显示进程的所有组 |
ps -o %cpu | 显示进程的cpu使用率 |
ps -o &mem | 显示进程的内存使用率 |
ps -o pid | 显示进程的pid |
ps -o nice | 显示进程的优先级 |
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/7c3ae30a85fe6299e3e2a55f058b58ca.png)
(5)进程排序
命令 | 功能 |
---|
ps ax --sort=+%cpu/-%cpu | 按照cpu使用率由大到小或由小到大排序 |
+%mem/-%mem | 按照内存使用率由大到小或由小到大排序 |
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/1c200693efa17a4214839d9b8a668ea6.png)
二.stat中显示的信息
显示的信息 | 意义 |
---|
S | 进程的状态 |
l | 内存中有锁定空间 |
N | 优先级比较低 |
< | 优先级比较高 |
+ | 在前台运行的(此时进行操作会默认打开此文件) |
s | 顶级进程 |
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/a32c258545f06f7f1c92c1462df6dd36.png)
三.进程的优先级
1、进程的优先级范围
-20~19
数值越小优先级越高
2、优先级的查看
命令 | 功能 |
---|
ps ax -o pid,nice,comm | 查看进程的pid,优先级,名称 |
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/d6934775b34dd52c095902973dd91fe6.png)
3、指定特定优先级开始这个进程
命令 | 功能 |
---|
nice -n 数字 进程名称 | 以数字代表的优先级开始这个进程 |
nice -n 10 vim & | 开启vim窗口,并指定程序以10的优先级开始 |
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/34a5afa8ba59790a90b098bf8f7cf87b.png)
4、改变进程的优先级
命令 | 功能 |
---|
renice -n 数字 进程pid | 改变该pid所表示的进程的优先级 |
renice -n -7 2234 | 改变2234进程的优先级为-7 |
四.环境中进程的前后台的调用
命令 | 功能 |
---|
jobs | 查看在环境后台的进程 |
Ctrl+z | 把正在运行的进程打入后台 |
fg xx | 把后台的进程(休眠)调回前台,xx为进程 |
bg xx | 把后台暂停的进程运行(不意味着调回前台) |
comm & | 让命令直接在后台运行,不经过前台 |
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/c0933710a8703a1d0fa528c94e652400.png)
五.进程的信号
1、常用的信号等级及意义
等级 | 意义 |
---|
1 | 进程重新加载配置 |
2 | 删除进程在内存中的数据 |
3 | 删除鼠标在内存中的数据(晃动鼠标则恢复) |
9 | 强行结束单个进程(该信号不能被阻塞) |
15 | 正常关闭进程(该信号可以被阻塞) |
18 | 运行暂停的进程 |
19 | 暂停某个进程(该信号不能被阻塞) |
20 | 把进程打入后台(该信号可以被阻塞) |
命令 | 功能 |
---|
man 7 signal | 信号的详细信息查询 |
命令 | 功能 |
---|
kill -信号数字 进程pid | 对该pid代表的进程执行信号数字表示的操作 |
killall -信号数字 进程名字 | 对含有进程名字的一类进程执行信号数字表示的操作 |
pkill -u student -信号数字 | 执行某一信号的批量处理 |
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/1732a35d2670bf48ab651d1ac7bb858e.png)
六.进程的动态监控
1、top
命令 | 功能 |
---|
top 1. | 显示cpu每个核的负载 |
top s | 调整刷新频率 |
top c | 按cpu负载使用率进行排序 |
top m | 按内存使用率进行排序 |
top h | 查看帮助 |
top u | 查看指定用户进程 |
top k | 对指定的进程发起信号 |
top q | 退出 |
七.控制服务
1、控制服务的方式
系统初始化进程可以对服务进行相应的控制
2、当前系统的初始化进程是什么
命令 | 功能 |
---|
systemd | 系统初始化进程 |
pstree | 系统中的进程树 |
3、远程登录及远程复制
命令 | 功能 |
---|
ssh root@172.25.254.110 | 登录至此机中 |
scp -r file/dir root@172.25.254.110:/root/Desktop | 将目录或文件远程复制至该机的桌面 |
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/81cd66f3178fbdc6b4abc5c7334246c2.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/44f050b4cd10872cc7b6b91095bf4730.png)
4、进程的控制命令
ssh–>sshd
client server
命令 | 功能 |
---|
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 sshd | 列出已经开启的服务当前的状态 |
systemctl list-unit-files sshd | 列出所有服务开机时的状态 |
systemctl list-dependencies sshd | 列出服务的依赖 |
systemctl set-default multi-user.targer sshd | 设定系统启动时默认为多用户模式 |
systemctl set-default graphical.targer sshd | 设定系统启动时默认为图形模式 |
5、添加sshd登录信息
命令 | 功能 |
---|
vim /etc/motd | 文件内容就是登录后显示的信息 |
6、用户的登录审计
(审计就是审查记录)
(1)w
命令 | 功能 |
---|
w | 查看正在使用当前系统的用户,查看的是/var/run/utmp文件 |
w -f | 查看正在使用当前系统的用户的使用来源 |
w -i | 显示正在使用当前系统的用户的IP |
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/bd56b000f9c4e3b90429e4dff3a9a461.png)
(2)last
命令 | 功能 |
---|
last | 查看使用过并且退出的用户信息,查看的是/var/log/wtmp文件 |
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/2e99b2e30999e285f8fbdf7f7fd4f51d.png)
(3)lastb
命令 | 功能 |
---|
lastb | 查看试图登录,但没成功的用户信息,查看的是/var/log/btmp文件 |