小白带你学习linux系统程序和进程管理(十四)

简介: 小白带你学习linux系统程序和进程管理(十四)

一、故障处理

1、文件系统损坏

模拟故障:

dd if=/dev/zero of=/dev/sdd1 bs=512 count=4

3d0b315a367144989b75c459abe8c51c.png

centos7下的XFS文件系统修复:

umount /dev/sdb1
xfs_repair /dev/sdb1

 

4d7257e45dd9432dab6de2f6256e7620.png


944a0d04949c4becba14918de5843263.png

centos7下的ext文件系统修复:

umount /dev/sdb1
挂载到mount  /dev/sdb1/ /mnt 挂载不上


fee073d1023643758e4bd6ab22fba5d3.png

修复输入fsck -y -t ext4 /dev/sdb1



 292bfa6a16c54bef8a7d2e60741fc3c5.png


57eed2a9222d4abda85a292cbf4301da.png

2grub引导故障

故障模拟


mv /boot/grub2/grub.cfg /grubbackup ; reboot

移动到opt目录下

15e66cf86dfc4aeeb42e48ecd185a35d.png


 输入reboot重启


a1b210fea3854f1bb9832c6257529f00.png

 输入两下tab


44f07fd900e649758985f4d2aaf4e337.png

查看模块

lsmod

卸载模块

rmmod  模块名称

加载模块

insmod  模块的绝对路径

修复(手动引导操作系统)

1grub>ls,查看磁盘分区信息,找到boot

283c1b7b079e4540b8df3b1487fc108f.png


2

grub>insmod xfs


f3195302e8e244b98bf7212a664b6539.png

grub> set root=(hd0,msdos1)   (----> 这个为你上一步中找到的boot分区)



459582a55fad4df3bec0d8106997bf7f.png


grub> linux16 /vmlinuz-xxxxx root=/dev/mapper/centos-root


a43b6dd1dc5e4253ad608241be7508d8.png


itramfs-.xxxxx.img

ce8bdfec8bef4409b5afc84807e4e21b.png


grub> boot

输入boot重新启动

 

3)将备份好的gurb文件拷贝到/boot/grub2/目录中。或者在没有备份grub的情况下:  

grub2-mkconfig --output /boot/grub2/grub.cfg 重新生成grub

744291cc251e435cbe5c7d228f9a1a3e.png


reboot 重启检测一下是否成功

ac8bcb7f3da843ee935b7b336ebcfdf2.png


3、磁盘资源耗尽

1)磁盘空间不足

清理磁盘或者添加新磁盘

2inode节点耗尽 

查看磁盘inode节点数量:df -i


66246fb6f6d243a493e3bbfd2b75c751.png

删除无用文件

3)预防磁盘资源耗尽的最好办法

进行磁盘配额

二、程序与进程的区别

程序:静态代码,存储在硬盘等介质中

进程:程序运行后在CPU及内存中运行的动态代码;父进程与子进程;

三、程序与进程的操作

1、进程概述

进程名

运行用户

PIDprocess:进程)          进程唯一标识符

运行的命令

2、进程查看命令

ps aux,静态显示正在内存中运行的进程信息

USER    PID   %CPU      %MEM    VSZ        RSS                TTY      STAT  STARTTIME  

COMMAND

用户  进程号 CPU占比  内存占比  虚拟内存  固定内存占用          连接终端  状态  开始时间   进程

运行的命令


fd6dabe02a8d486892802cb5ed9ea998.png

 状态:

Ssleep休眠进程

s:表示有很多子进程,表示父进程

R:正在工作的进程

T:已经停止的进程

Z:僵尸进程,zombie,会占用系统资源,主要占用内存资源


<    high-priority (not nice to other users)高级优先,对其他用户不友好
N    low-priority (nice to other users)(低级优先,对其他用户有利)
L    has pages locked into memory (for real-time and custom IO)(将页面锁定在内存中(用
于实时和自定义IO))
s    is a session leader   S是会话领导者
 l    is multi-threaded (using CLONE_THREAD, like NPTL pthreads do)  是多线程的(使用
CLONE_THREAD,像NPTL的pthreads一样
 +    is in the foreground process group    在前台进程组中
ps -elf,属于当前登录的所有进程信息
 F    S     UID     PID    PPID     C                     PRI     NI        ADDR        SZ     WCHAN
 STIME TTY          TIME CMD
标识 状态 用户ID  进程ID  父进程ID CPU    优先权 优先权修正 内存位置 内存占比  -运行  开
始时间 终端   占用CPU时间 命令

f3d3a17be1ae4f98912974739dd2fbe6.png


pgrep ,进程筛选

选项

-o:显示找到的最小进程号

c1a72a0cd4da48b9b03a77b6141d2ef8.png


-n:显示找到的最大进程号

8fe3a122329649c5b09fa708973166b6.png


-l:显示进程名

-p:指定父进程

 -g:指定进程组

-t:指定开启的终端

-u:指定进程有效用户

案例

pgrep -l httpd -u apache

pstree 显示进程树

-a:显示完整信息

-u:显示UID

-p:显示PID

dcd6006de2b941a99dae29689eb6d276.png


top,动态显示进程信息

选项

P:根据CPU占用情况显示

M:根据内存占用显示

N:根据启动时间

q:退出

t:切换进程和cpu状态

i:忽略显示僵尸进程

k:终止一个进程

空格:强制更新

说明

top - 19:40:26 up  2:34,  5 users,  load average: 0.42, 0.22, 0.16
Tasks: 209 total,   2 running, 207 sleeping,   0 stopped,   0 zombie
%Cpu(s): 14.0 us,  3.8 sy,  0.0 ni, 82.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :   997956 total,    73544 free,   732792 used,   191620 buff/cache
KiB Swap:  2097148 total,  1904892 free,   192256 used.    71360 avail Mem

f92b7da693b943f882000063a1d5b2db.png


第一行:系统当前时间;已经运行了13分钟,2个用户登录;系统1/5/15分钟之内的平均负载
第二行:Tasks(总进程数是284);1个正运行的进程;283个睡眠的进程;0个停止;0个僵尸进程

第三行:CPU(用户控件占用CPU的百分比是0.8%),内核占用CPU0.8%;0.0%ni[用户进程空

间内改变过优先级的进程占用CPU百分比];98.3%id[空闲CPU百分比], 0.0%wa[等待输入输出的CPU

时间百分比];

 第四行:Mem(内存)总大小是1.86G;闲置0.37G;0.81G使用;0.68G作为内核缓存(buffer:写入缓冲区);
第五行:Swap(交换分区)总大小1.95G;闲置1.95G; 使用0 ;其余闲置;0.87G作为读取缓存(cached:CPU刚使用的数据);


3、终止进程

Ctrl+C  #终止前台进程

f6760bd405fd457f89e447aec2e60353.png


6b451c0c29b94bf6aeaa26f74a7782ac.png

kill   进程号   #终止后台进程;-u指定用户


b76c815057ce4c28a8a96d10d81a3946.png

kill `pgrep firefox`  不关心进程号直接杀死firefox

abe7eca1f52147228083694f5686b759.png


kill  -9   进程号   #强制杀死


49a3bcb6ab48401db3f8bda733ce62bc.png

pkill    名字       #按照进程名杀死进程


03fc8374beee47c7a2ef8c798aaf6e72.png

killall  httpd     #使用进程名杀死一组进程;-l不区分大小写;-u指定杀死用户的进程

4、前台进程与后台进程

前台进程:在终端中直接运行的程序,影响当前终端的使用

 后台进程:在后端运行的程序,不影响当前终端使用

前台进程切换成后台进程:firefox &

7b13e487969b417e98cf329d4aaebfbc.png


[1]+  运行中               firefox &

0ad22ed255094bd0933daccde26d4f6f.png


jobNumber  状态    进程名  

查看切换到后台的进程信息:jobs [-l  显示PID]

 后台进程调到前台进程:fg jobNumber


9e7afa5844b743cd9be7909418285699.png

暂停前台进程:Ctrl+z


6ee8100c864b440580342afbc14ba133.png

将暂停进程直接调到后台执行:

bg jobNumber



 5da1266b3c9f42b4a9e45751a36f6f7a.png

相关文章
|
7天前
|
存储 缓存 监控
Linux缓存管理:如何安全地清理系统缓存
在Linux系统中,内存管理至关重要。本文详细介绍了如何安全地清理系统缓存,特别是通过使用`/proc/sys/vm/drop_caches`接口。内容包括清理缓存的原因、步骤、注意事项和最佳实践,帮助你在必要时优化系统性能。
120 78
|
10天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
44 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
6天前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
56 13
|
13天前
|
SQL 运维 监控
南大通用GBase 8a MPP Cluster Linux端SQL进程监控工具
南大通用GBase 8a MPP Cluster Linux端SQL进程监控工具
|
7天前
|
Ubuntu Linux C++
Win10系统上直接使用linux子系统教程(仅需五步!超简单,快速上手)
本文介绍了如何在Windows 10上安装并使用Linux子系统。首先,通过应用商店安装Windows Terminal和Linux系统(如Ubuntu)。接着,在控制面板中启用“适用于Linux的Windows子系统”并重启电脑。最后,在Windows Terminal中选择安装的Linux系统即可开始使用。文中还提供了注意事项和进一步配置的链接。
25 0
|
7月前
|
Linux Shell 调度
【Linux】7. 进程概念
【Linux】7. 进程概念
70 3
|
7月前
|
存储 缓存 Linux
【Linux】进程概念(冯诺依曼体系结构、操作系统、进程)-- 详解
【Linux】进程概念(冯诺依曼体系结构、操作系统、进程)-- 详解
|
4月前
|
Linux Shell 调度
【在Linux世界中追寻伟大的One Piece】Linux进程概念
【在Linux世界中追寻伟大的One Piece】Linux进程概念
47 1
|
6月前
|
存储 Linux Shell
Linux进程概念(上)
冯·诺依曼体系结构概述,包括存储程序概念,程序控制及五大组件(运算器、控制器、存储器、输入设备、输出设备)。程序和数据混合存储,通过内存执行指令。现代计算机以此为基础,但面临速度瓶颈问题,如缓存层次结构解决内存访问速度问题。操作系统作为核心管理软件,负责资源分配,包括进程、内存、文件和驱动管理。进程是程序执行实例,拥有进程控制块(PCB),如Linux中的task_struct。创建和管理进程涉及系统调用,如fork()用于创建新进程。
70 3
Linux进程概念(上)
|
6月前
|
存储 Shell Linux
Linux进程概念(下)
本文详细的介绍了环境变量和进程空间的概念及其相关的知识。
42 0
Linux进程概念(下)