提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
一、故障处理
上期的root用户密码修复使用的是修改grub参数方法,还有使用centos自带的修复模式的方法可以进行
U盘或者光驱导入系统盘,开机->F2->bios->boot->cdrom或者USB为第一启动顺序 | |
---|---|
选择trubleshooting选项–>rescue a centos system | |
选择"1"–>sh-4.2#chroot /mnt/sysimage | |
bash-4.2#passwd root–>exit | |
修改bios,调整正确的启动顺序 |
(一)、文件系统损坏
模拟故障:dd if=/dev/zero of=/dev/sdd1 bs=512 count=4
centos7下的XFS文件系统修复:
centos7下的ext文件系统修复:
(二)、MBR引导扇区故障(了解)
记得先备份MBR数据
模拟故障:dd if=/dev/zero of=/dev/sdb bs=512 count=1
恢复故障:dd if=/sdbbackup/sdb.mbr.bak of=/dev/sdb bs=512 count=1
修复
导入系统盘,开机->F2->bios->boot->cdrom为第一启动顺序 | |
---|---|
选择trubleshooting选项–>rescue a centos system | |
选择"1"–>sh-4.2#chroot /mnt/sysimage | |
bash-4.2#dd if=/sdbbackup/sdb.mbr.bak of=/dev/sdb bs=512 count=1 |
(三)、grub引导故障(重点)
故障模拟:mv /boot/grub2/grub.cfg /grubbackup而后reboot
驱动(模块)操作:
查看模块 | lsmod |
---|---|
卸载模块 | rmmod 模块名称 |
加载模块 | insmod 模块的绝对路径 |
find / -name “模块名称” | 驱动路径: /usr/lib/modules/3.10.0-1160.el7.x86_64/kernel/drivers |
修复
二、程序与进程的区别和操作
(一)、程序与进程的区别
程序 | 静态代码,存储在硬盘等介质中 |
---|---|
进程 | 程序运行后在CPU及内存中运行的动态代码;父进程与子进程 |
(二)、程序与进程操作
1.查看进程的命令
(1)ps aux:静态显示正在内存中运行的进程信息
USER PID %CPU %MEM VSZ RSS TTY STAT STARTTIME COMMAND
用户 进程号 CPU占比 内存占比 虚拟内存 固定内存占用 连接终端 状态 开始时间 进程运行的命令 (?代表本地)
状态 | 常用的几个 |
---|---|
S | 休眠进程 |
s | 表示有很多子进程,表示父进程 |
R | 正在工作的进程 |
T | 已经停止的进程 |
Z | 僵尸进程,zombie,会占用系统资源,主要占用内存资源 |
(2)ps -elf:属于当前登录的所有进程信息
F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
标识 状态 用户ID 进程ID 父进程ID CPU 优先权 优先权修正 内存位置 内存占比 -运行 开始时间 终端 占用CPU时间 命令
(3)pgrep :进程筛选
-o | 显示找到的最小进程号 |
---|---|
-n | 显示找到的最大进程号 |
-l | 显示进程名 |
-p | 指定父进程 |
-g | 指定进程组 |
-t | 指定开启的终端 |
-u | 指定进程有效用户 |
例子 | pgrep -l httpd -u apache |
(4)pstree: 显示进程树
-a | 显示完整信息 |
---|---|
-u | 显示UID |
-p | 显示PID号 |
(5)top:动态显示进程信息
P | 根据CPU占用情况显示 |
---|---|
M | 根据内存占用显示 |
N | 根据启动时间 |
q | 退出 |
t | 切换进程和cpu状态 |
i | 忽略显示僵尸进程 |
k | 终止一个进程 |
空格 | 强制更新 |
第一行 | 系统当前时间;已经运行了X天X小时,2个用户登录;系统X/X/X分钟之内的平均负载 |
---|---|
第二行 | Tasks(总进程数是276);1个正运行的进程;275个睡眠的进程;0个停止;0个僵尸进程 |
第三行 | CPU(用户控件占用CPU的百分比是),内核占用CPU;ni[用户进程空间内改变过优先级的进程占用CPU百分比];id[空闲CPU百分比], wa[等待输入输出的CPU时间百分比]; |
第四行 | Mem(内存)总大小;空闲;被使用;作为内核缓存(buffer:写入缓冲区) |
第五行 | Swap(交换分区)总大小;;闲置;作为读取缓存(cached:CPU刚使用的数据); |
(三)、终止进程
Ctrl+C | 终止前台进程 |
---|---|
kill 进程号 | 终止后台进程;-u指定用户 |
kill pgrep firefox(pgrep firefox前后用`) | 不关心进程号直接杀死firefox |
kill -9 进程号 | 强制杀死 |
pkill 名字 | 按照进程名杀死进程 |
killall httpd | 使用进程名杀死一组进程;-l不区分大小写;-u指定杀死用户的进程 |
(四)、前台进程与后台进程
前台进程 | 在终端中直接运行的程序,影响当前终端的使用 |
---|---|
后台进程 | 在后端运行的程序,不影响当前终端使用 |
前台进程切换成后台进程 | firefox &([1]+ 运行中 firefox &) |
查看切换到后台的进程信息 | jobs [-l 显示PID] |
后台进程调到前台进程 | fg jobNumber |
暂停前台进程 | Ctrl+z |
将暂停进程直接调到后台执行 | bg jobNumber |
总结
今天的内容纯属考验大家的记忆力了,相对好理解,多数都是需要背记的东西,赶快动起来抓紧背记才更好实践。