【从小白到大神】进一步学习Linux操作系统(十四)

Linux进程管理与系统程序补充篇

目录

Linux进程管理与系统程序补充篇

一、系统程序补充篇

(一)root密码修复

第一种方式

第二种方式

(二)文件系统损坏

(三)MBR引导扇区故障

(四)grup引导故障

(五)磁盘资源耗尽

二、进程管理

(一)程序与进程的区别

(二)进程概述

(三)进程查看命令

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

2.3.2、  ps -elf,属于当前登录的所有进程信息

2.3.3、  pgrep ,进程筛选

2.3.4、  pstree 显示进程树

2.3.5、  top,动态显示进程信息

(四)终止进程

(五)前台进程与后台进程


一、系统程序补充篇

(一)root密码修复

       前文我们已经学习了一个最简单的进入grup引导界面修改root用户密码的方式,但是实际应用过程中,grup引导界面是可以锁定的,我们就需要掌握其他方式进行更改密码,下面简单讲述一下其他两种方式的忘记root用户密码更改密码的方式。

第一种方式

    1)在系统系统时,按方向键让界面停在grub引导界面上

    2)按"e",找到"linux16"所在行,在最后添加 rd.break,然后按"ctrl+x"

    3)switch_root#mount -o remount,rw /sysroot

               switch_root#chroot /sysroot

               switch_root#export LANG=c

               slswitch_root#passwd root

               switch_root#touch /.autorelabel

    4)switch_root#exit

               sh-4.2#init 6

第二种方式

使用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/sdb1 bs=512 count=4

      centos7下的XFS文件系统修复:

先将其格式化为xfs格式

         umount /dev/sdb1

        xfs_repair /dev/sdb1

     centos7下的ext文件系统修复:

        umount /dev/sdb1

        fsck -y -t ext4 /dev/sdb1

 经过验证已经可以正常使用

(三)MBR引导扇区故障

    模拟故障

        1)先备份MBR数据

            dd if=/dev/sdb of=/sdbbackup/sdb.mbr.bak bs=512 count=1

            假如sdb是系统文件所在磁盘,需要使用光盘镜像进入修复模式。

        2)模拟故障

            dd if=/dev/zero of=/dev/sdb bs=512 count=1

        3)恢复故障

            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

(四)grup引导故障

    故障模拟

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

     驱动(模块)操作

        查看模块            lsmod

        卸载模块            rmmod  模块名称

        加载模块            insmod  模块的绝对路径

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

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

         2)grub>insmod xfs

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

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

            grub> initrd16 /initramfs-.xxxxx.img

            grub> boot

          3)将备份好的gurb文件拷贝到/boot/grub2/目录中。或者在没有备份grub的情况下输入:grub2-mkconfig --output /boot/grub2/grub.cfg 重新生成grub

 输入reboot进行重启验证

(五)磁盘资源耗尽

    1)磁盘空间不足:清理磁盘或者添加新磁盘

    2)inode节点耗尽(  查看磁盘inode节点数量:df -i  ):删除无用文件

    3)预防磁盘资源耗尽的最好办法:进行磁盘配额

二、进程管理

(一)程序与进程的区别

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

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

(二)进程概述

    进程分为:进程名、运行用户、PID(process:进程):进程唯一标识符、运行的命令

(三)进程查看命令

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

           状态:

            S:sleep休眠进程

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

            R:正在工作的进程

            T:已经停止的进程

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

            <    高优先级(对其他用户不友好)

            N    低优先级(对其他用户有利)

            L    将页面锁定在内存中(用于实时和自定义IO)

            s    是指一个进程作为一个会话的领导者

            l    是多线程的

            +    是否在前台进程组中

2.3.2、  ps -elf,属于当前登录的所有进程信息

2.3.3、  pgrep ,进程筛选

         选项

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

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

             -l:显示进程名

            -p:指定父进程

            -g:指定进程组

            -t:指定开启的终端

            -u:指定进程有效用户

2.3.4、  pstree 显示进程树

        -a:显示完整信息

         -u:显示UID

         -p:显示PID号

2.3.5、  top,动态显示进程信息

         选项

            P:根据CPU占用情况显示

             M:根据内存占用显示

             N:根据启动时间

             q:退出

            t:切换进程和cpu状态

             i:忽略显示僵尸进程

             k:终止一个进程

加入进程号终止进程

             空格:强制更新

        top动态显示进程说明


      第一行:系统当前时间2点28分04秒;已经运行了19分,2个用户登录;系统1/5/15分钟之内的平均负载为0.04/0.10/0.13

      第二行:Tasks(总进程数是303);1个正运行的进程;302个睡眠的进程;0个停止;0个僵尸进程

      第三行:CPU(用户控件占用CPU的百分比是0.3%),内核占用CPU0.0%;0.0%ni[用户进程空间内改变过优先级的进程占用CPU百分比];99.7%id[空闲CPU百分比], 0.0%wa[等待输入输出的CPU时间百分比];0.0%hi[CPU处理硬件中断的时间比例];0.0%si[CPU处理软件中断的时间比例];0.0%st[来自虚拟机等待物理CPU资源的时间比例(虚拟化技术)]。

      第四行:Mem(内存)总大小是1.86G;0.1G被使用;1.05G空闲;703M作为内核缓存(buffer:写入缓冲区);

      第五行:Swap(交换分区)总大小2.1G;其余闲置2.1G;用了0.03M;0.58G作为读取缓存(cached:CPU刚使用的数据);

(四)终止进程

     Ctrl+C  #终止前台进程

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

top查看进程号

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

     kill  -9   进程号   #强制杀死

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

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

(五)前台进程与后台进程

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

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

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

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

        [1]+  运行中                  firefox &

        jobNumber  状态          进程名  

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

     暂停前台进程:Ctrl+z

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

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wjy¹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值