第14章 进程管理(重点)
进程基本介绍
程序运行起来就是一个进程
1.程序和进程的关系
2.在Linux中有两种方式执行,一种叫前台,一种后台
ps指令详解
显示系统执行的进程
USER:进程执行用户
PID:进程号
%CPU:当前这个程序占用cpu的百分比
%MEM:占用实际物理内存的百分比
TTY
父子进程
PPID
在Linux里面,如果有一个进程,它创建了子进程,就是多进程的概念
一级一级子进程的关系
终止进程
kill和killall指令
如果用killall指令删掉进程,那么这个进程的所有子进程也会被干掉
案例一:Tom是通过11421这个进程登录到Linux系统的,用root登录把这个进程终止掉了,那么Tom就退出了
案例二:先要查看对应的进程号
案例三:
案例四:
pstree指令
查看进程树
服务管理
服务(service)本质就是后台跑的一个进程
案例:如果把网络服务关闭,就意味着端口监听工作就会停止
查看服务名
自起是前面带*号的
外部的客户端或者外部的程序去使用或者连接Linux系统服务的原理图
去找哪个端口本质上就是找的端口监听的那个系统服务
- mysqld
- 定义
mysqld
是 MySQL 数据库服务器的守护进程(daemon)。守护进程是在后台运行并且持续提供某种服务的程序。在 MySQL 的体系中,mysqld
负责管理数据库文件、处理来自客户端的 SQL 查询请求、控制用户对数据库的访问等诸多重要功能。- 工作方式
- 监听端口:它会在服务器的特定端口(默认是 3306 端口)上进行监听。当客户端程序(如命令行客户端
mysql
、使用各种编程语言编写的数据库连接程序等)尝试连接到 MySQL 服务器时,mysqld
会接受这些连接请求。例如,一个基于 Python 的 Web 应用通过pymysql
库连接 MySQL 数据库时,pymysql
会向运行mysqld
的服务器的 3306 端口发送连接请求。- 处理查询:一旦建立连接,
mysqld
就会接收客户端发送的 SQL 语句,如SELECT
(用于查询数据)、INSERT
(用于插入数据)、UPDATE
(用于更新数据)和DELETE
(用于删除数据)等操作。它会解析这些 SQL 语句,根据数据库中的表结构、索引等信息,执行相应的操作来获取或修改数据。- 数据存储和管理:
mysqld
负责将数据存储在磁盘上的特定文件格式中。它会管理数据库文件的组织结构,包括表结构定义文件、数据文件和索引文件等。例如,当执行INSERT
操作插入新数据时,mysqld
会将数据按照预定的格式写入到数据文件中,并更新相关的索引文件(如果有索引的话),以确保数据的高效存储和检索。- 配置管理
mysqld
可以通过配置文件(通常是my.cnf
或my.ini
)进行配置。在配置文件中,可以设置各种参数,如服务器的监听端口、缓存大小、存储引擎选择、字符集等。例如,可以通过配置文件调整innodb_buffer_pool_size
参数来优化InnoDB
存储引擎的性能,该参数控制了用于缓存数据和索引的内存大小。- SSHD
- 定义
- 工作方式
- 身份验证:当客户端(如
ssh
命令)尝试连接到运行SSHD
的服务器时,首先进行身份验证。SSHD
支持多种身份验证方式,包括基于密码的认证和基于密钥的认证。基于密钥的认证更为安全,它使用非对称加密算法,用户在本地生成一对密钥(公钥和私钥),将公钥上传到服务器,当连接时,服务器使用公钥验证客户端发送的用私钥加密的信息来确认用户身份。- 建立安全通道:一旦身份验证成功,
SSHD
会在客户端和服务器之间建立一个加密的安全通道。这个通道可以防止数据在传输过程中被窃取或篡改。所有通过这个通道传输的数据,包括用户输入的命令和服务器返回的响应,都会被加密。例如,当用户通过ssh
连接到服务器后,在终端输入ls
命令查看文件列表,命令会被加密后发送到服务器,服务器执行命令后的结果也会被加密后返回给客户端。- 提供服务:通过这个安全通道,
SSHD
允许用户在服务器上执行各种操作。这包括执行系统命令(如cd
、cp
、mv
等)、管理服务器上的服务(如启动、停止或重启mysqld
等其他守护进程)、编辑文件等。同时,还可以通过SSHD
进行安全的文件传输,例如使用scp
(安全复制)或sftp
(安全文件传输协议)等工具,这些工具也是基于SSHD
建立的安全通道来工作的。
服务的运行级别(runlevel)
chkconfig指令
可以设置每一个服务对应的启动或者关闭针对不同级别的
systemctl管理指令
在centos7.0,简化为对3和5级别的操作
防火墙是自启动的状态
防火墙在一定程度上可以保护我们的系统不被外面的程序随便访问
打开或者关闭指定端口
firewall指令
不管是打开端口还是关闭端口,都要重新载入防火墙
如果你重启防火墙,会导致防火墙中断一小会,那么防火墙设置的安全策略,nat策略等都会失效,可能会导致网络临时中断
telent要借助tcp连接后传送数据
不明白重启防火墙也会中断网络的话,需要学习linux防火墙管理,明白安全策略和nat策略等配置才能明白
动态监控系统
top指令
hi:硬件中断占用百分比、si:软件中断占用百分比、st:虚拟化占用百分比
ni: 改变过优先级的进程所占用的CPU百分比
zombie:僵死进程,就是进程已经死掉了但是内存没有释放,需要定时清除
bushi真的看不清 回头复习找韩老师写的文档
监控网络状态
查看系统网络情况netstat
只要要形成一个网络连接,双方都要有一个端口
一般都会有超时等待
小结
第15章 RPM与YUM
RPM管理
rpm包的管理
介绍
简单查询指令
其它查询指令
卸载
安装
卸载:rpm -e firefox
Centos就是有rpm包的管理机制
Tab命令补全
YUM
这里要注意,yum卸载软件,其中的依赖关系要是被其他软件用到,那么会导致其他软件无法使用