小白带你学习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

相关文章
|
27天前
|
存储 缓存 监控
Linux缓存管理:如何安全地清理系统缓存
在Linux系统中,内存管理至关重要。本文详细介绍了如何安全地清理系统缓存,特别是通过使用`/proc/sys/vm/drop_caches`接口。内容包括清理缓存的原因、步骤、注意事项和最佳实践,帮助你在必要时优化系统性能。
174 78
|
5天前
|
监控 搜索推荐 开发工具
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
2025年1月9日更新Windows操作系统个人使用-禁用掉一下一些不必要的服务-关闭占用资源的进程-禁用服务提升系统运行速度-让电脑不再卡顿-优雅草央千澈-长期更新
|
1月前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
66 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
27天前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
94 13
|
28天前
|
Ubuntu Linux C++
Win10系统上直接使用linux子系统教程(仅需五步!超简单,快速上手)
本文介绍了如何在Windows 10上安装并使用Linux子系统。首先,通过应用商店安装Windows Terminal和Linux系统(如Ubuntu)。接着,在控制面板中启用“适用于Linux的Windows子系统”并重启电脑。最后,在Windows Terminal中选择安装的Linux系统即可开始使用。文中还提供了注意事项和进一步配置的链接。
42 0
|
7月前
|
监控 Linux 应用服务中间件
探索Linux中的`ps`命令:进程监控与分析的利器
探索Linux中的`ps`命令:进程监控与分析的利器
148 13
|
6月前
|
运维 关系型数据库 MySQL
掌握taskset:优化你的Linux进程,提升系统性能
在多核处理器成为现代计算标准的今天,运维人员和性能调优人员面临着如何有效利用这些处理能力的挑战。优化进程运行的位置不仅可以提高性能,还能更好地管理和分配系统资源。 其中,taskset命令是一个强大的工具,它允许管理员将进程绑定到特定的CPU核心,减少上下文切换的开销,从而提升整体效率。
掌握taskset:优化你的Linux进程,提升系统性能
|
6月前
|
弹性计算 Linux 区块链
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)
205 4
Linux系统CPU异常占用(minerd 、tplink等挖矿进程)
|
5月前
|
算法 Linux 调度
探索进程调度:Linux内核中的完全公平调度器
【8月更文挑战第2天】在操作系统的心脏——内核中,进程调度算法扮演着至关重要的角色。本文将深入探讨Linux内核中的完全公平调度器(Completely Fair Scheduler, CFS),一个旨在提供公平时间分配给所有进程的调度器。我们将通过代码示例,理解CFS如何管理运行队列、选择下一个运行进程以及如何对实时负载进行响应。文章将揭示CFS的设计哲学,并展示其如何在现代多任务计算环境中实现高效的资源分配。
|
6月前
|
存储 缓存 安全
【Linux】冯诺依曼体系结构与操作系统及其进程
【Linux】冯诺依曼体系结构与操作系统及其进程
189 1