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

目录

一、故障处理

1、文件系统损坏

2、grub引导故障

3、磁盘资源耗尽

二、程序与进程的区别

三、程序与进程的操作

1、进程概述

2、进程查看命令

3、终止进程

4、前台进程与后台进程


一、故障处理

1、文件系统损坏

模拟故障:dd if=/dev/zero of=/dev/sdd1 bs=512 count=4

小白带你学习linux系统程序和进程管理(十四)_第1张图片
centos7下的XFS文件系统修复:

umount /dev/sdb1

xfs_repair /dev/sdb1

小白带你学习linux系统程序和进程管理(十四)_第2张图片

 小白带你学习linux系统程序和进程管理(十四)_第3张图片

 

centos7下的ext文件系统修复:

umount /dev/sdb1

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

小白带你学习linux系统程序和进程管理(十四)_第4张图片

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

 小白带你学习linux系统程序和进程管理(十四)_第5张图片

 小白带你学习linux系统程序和进程管理(十四)_第6张图片

 

2、grub引导故障

故障模拟

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

移动到opt目录下

小白带你学习linux系统程序和进程管理(十四)_第7张图片

 输入reboot重启

小白带你学习linux系统程序和进程管理(十四)_第8张图片

 输入两下tab 

小白带你学习linux系统程序和进程管理(十四)_第9张图片

 查看模块

 lsmod

卸载模块

rmmod  模块名称

加载模块

insmod  模块的绝对路径

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

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

小白带你学习linux系统程序和进程管理(十四)_第10张图片

 

 2)grub>insmod xfs

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

 

 

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

itramfs-.xxxxx.img

grub> boot

输入boot重新启动

 

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

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

小白带你学习linux系统程序和进程管理(十四)_第11张图片

reboot 重启检测一下是否成功

 小白带你学习linux系统程序和进程管理(十四)_第12张图片

3、磁盘资源耗尽

1)磁盘空间不足

清理磁盘或者添加新磁盘

 2)inode节点耗尽 

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

小白带你学习linux系统程序和进程管理(十四)_第13张图片

删除无用文件

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

进行磁盘配额

二、程序与进程的区别

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

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

三、程序与进程的操作

1、进程概述

进程名

运行用户

PID(process:进程)          进程唯一标识符

运行的命令

2、进程查看命令

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

USER    PID   %CPU      %MEM    VSZ        RSS                TTY      STAT  STARTTIME  

COMMAND

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

运行的命令

小白带你学习linux系统程序和进程管理(十四)_第14张图片

 状态:

S:sleep休眠进程

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时间 命令

小白带你学习linux系统程序和进程管理(十四)_第15张图片

pgrep ,进程筛选

选项

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

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

 -l:显示进程名

 -p:指定父进程

  -g:指定进程组

-t:指定开启的终端

 -u:指定进程有效用户

案例

pgrep -l httpd -u apache

 pstree 显示进程树

 -a:显示完整信息

 -u:显示UID

-p:显示PID号

小白带你学习linux系统程序和进程管理(十四)_第16张图片

 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

 

第一行:系统当前时间;已经运行了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  #终止前台进程

小白带你学习linux系统程序和进程管理(十四)_第17张图片

 小白带你学习linux系统程序和进程管理(十四)_第18张图片

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

 小白带你学习linux系统程序和进程管理(十四)_第19张图片

 

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

kill  -9   进程号   #强制杀死

小白带你学习linux系统程序和进程管理(十四)_第20张图片

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

 

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

4、前台进程与后台进程

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

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

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

[1]+  运行中               firefox &

小白带你学习linux系统程序和进程管理(十四)_第21张图片

 

 jobNumber  状态    进程名  

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

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

暂停前台进程:Ctrl+z

小白带你学习linux系统程序和进程管理(十四)_第22张图片

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

小白带你学习linux系统程序和进程管理(十四)_第23张图片

 

你可能感兴趣的:(linux,学习,服务器)