liunx进程管理和RPM、YUM

2.10:进程管理

  • 基本介绍

    1. Liunx 中,每个执行的程序都称为一个进程。每一个进程都分配一个ID 号(pid,进程号)。

    2. 每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。

    3. 一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才才结束。

    4. 示意图
      在这里插入图片描述
      在这里插入图片描述

  • 显示系统执行的进程

    1. 基本介绍

      ps 命令是用来查看目前系统中,有哪些正在执行,以及它们执行的状况。可以不加任何参数。

    2. ps 详解

      • 指令:ps –aux|grep xxx

      • 指令说明

        System V 展示风格
        USER:用户名称
        PID:进程号
        %CPU:进程占用 CPU 的百分比
        %MEM:进程占用物理内存的百分比
        VSZ:进程占用的虚拟内存大小(单位:KB)
        RSS:进程占用的物理内存大小(单位:KB)
        TT:终端名称,缩写 
        //进程状态:其中 S-睡眠 s-表示该进程是会话的先导进程 N-表示进程拥有比普通优先级更低的优先级
         //  	       R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等
        STAT
        STARTED:进程的启动时间
        TIME:CPU 时间,即进程使用 CPU 的总时间
        COMMAND:启动进程所用的命令和参数,如果过长会被截断显示
        
    3. 应用实例

      • 要求:以全格式显示当前所有的进程,查看进程的父进程。 查看 sshd 的父进程信息

        ps -ef 是以全格式显示当前所有的进程
        -e 显示所有进程。-f 全格式
        ps -ef|grep sshd
        
      • BSD 风格

      UID: 用 户 ID 
      PID: 进 程 ID 
      PPID:父进程 ID
      //CPU 用于计算执行优先级的因子。数值越大,表明进程是 CPU 密集型运算,执行优先级会降低;
      //							数值越小,表明进程是 I/O 密集型运算,执行优先级会提高
      C
      STIME:进程启动的时间   
      TTY:完整的终端名称
      TIME:CPU时 间
      CMD:启动进程所用的命令和参数
      
  • 终止进程killkillall

    1. 介绍

      ​ 若是某个进程执行一半需要停止时,或是已消了很大的系统资源时,此时可以考虑停止该进程。使用 kill 命令来完成此项任务。

    2. 基本语法:

      kill [选项] 进程号(功能描述:通过进程号杀死/终止进程)

      功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大变得很慢时很有用

      killall 进程名称

    3. 常用选项:-9。表示强迫进程立即停止

    4. 最佳实战

      • 踢掉某个非法登录用户。kill 进程号

      • 终止远程登录服务sshd,在适当时候再次重启sshd服务。

        kill sshd 对应的进程号、/bin/systemctl start、sshd.service
        
      • 终止多个geditkillall gedit

      • 强制杀掉一个终端。kill -9 hash 对应的进程号

  • 查看进程树

    1. 基本语法:pstree [选项],可以更加直观的来看进程信息

    2. 常用选项

      -p 显示进程的PID
      -u 显示进程的所属用户
      
    3. 应用实例

      • 请你树状的形式显示进程的pidpstree -p

      • 请你树状的形式进程的用户。pstree -u
        在这里插入图片描述

  • 服务(service)管理

    1. 介绍:

      ​ 服务(service)本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其他程序的请求,比如(mysql,sshd,防火墙等),因为我们又称为守护进程,是Liunx中非常重要的知识点。

    2. service管理指令

      • service。服务名[start | stop | restart | reload | status]

      • CentOS7.0后很多服务不在使用service,而是systenctl(后面专门讲)

      • service指令管理的服务在/etc/init.d查看
        在这里插入图片描述

    3. service管理指令案例

      请使用service指令,查看,关闭,启动network。【注意:在虚拟系统演示,因为网络连接会关闭】

      指令:

      service network status;
      service network stop;
      service network start;
      
    4. 查看服务名

      • 方式1:setup 系统服务就可以看到全部
        在这里插入图片描述

      • 方式2:/etc/init.d看到service指令管理的服务

        ls -l /etc/init.d

    5. 服务的运行级别(runlevel)

      • Liunx系统有7种运行级别(runlevel):常用的级别是3和5

        运行级别 0:系统停机状态,系统默认运行级别不能设为 0,否则不能正常启动

        运行级别 1:单用户工作状态,root 权限,用于系统维护,禁止远程登陆

        运行级别 2:多用户状态(没有 NFS),不支持网络

        运行级别 3:完全的多用户状态(有 NFS),无界面,登陆后进入控制台命令行模式

        运行级别 4:系统未使用,保留

        运行级别 5:X11 控制台,登陆后进入图形 GUI 模式

        运行级别 6:系统正常关闭并重启,默认运行级别不能设为 6,否则不能正常启动

      • 开机的流程说明:
        在这里插入图片描述

    6. CentOS7后运行级别说明

      /etc/initab进行了简化,如下:

      multi-user.target: analogous to runlevel 3 
      graphical.target: analogous to runlevel 5 
      init 0
      # To view current default target, run:
      systemctl get-default
      # To set a default target, run:
      systemctl set-default TARGET.target
      
    7. chkconfig指令

      • 介绍:通过chkonfig命令可以给服务的各个运行级别设置自启动/关闭

        chkconfig指令管理的服务在/etc/init.d查看

        注意:CentOS7.0后,很多服务使用systemctl管理
        在这里插入图片描述

      • chkconfig基本语法

        查看服务chkconfig--list [| grep xxx]

        chkconfig 服务名 --list

        chkconfig --level 5 服务名 on/off

      • 案例演示:对netwoerk服务进行各种操作,把network在3运行级别,关闭自启动

        chkconfig --level 3 network off
        chkconfig --level 3 network on
        
      • 使用细节:chkconfig重新设置服务后自动或关闭,需要重启机器reboot生效

    8. systemctl管理指令

      基本语法:systemctl [start | stop | restart | status ] 服务名

      systemctl指令管理的服务在/usr/lib/system查看

    9. systemctl设置服务的自启动状态

      // 查看服务开机启动状态,grep可以进行过滤
      systemctl list-unit-files [| grep 服务名]
      // 设置服务开机启动
      systemctl enable 服务名
      // 关闭服务开机启动
      systemctl disable 服务名
      // 查询某个服务是否自启动的
      systemctl is-enabled 服务名
      
    10. 应用案例

      查看当前防火墙的状况,关闭防火墙和重启防火墙。

      firewalld.service;
      systemctl status firewalld;
      systemctl stop firewalld;
      systemctl start firewalld;
      
    11. 细节讨论

      关闭或者启用防火墙后,立即生效。【telent 测试某个端口即可】

      这种方式只是临时生效,当重启系统后,还是回归以前对服务的设置。

      如果希望设置某个服务自启动或关闭永久生效,要使用systemctl [enable | disable] 服务名

    12. 打开或关闭 指定端口

      ​ 在真正的生产环境,往往需要将防火墙打开,但问题来了,如果把防火墙打开了,那么外部请求数据包就不能跟服务器监听端口通讯。这时,需要打开指定的端口。
      在这里插入图片描述

    13. firewall指令

      • 打开端口:firewall-cmd --permanent --add-port=端口号/协议
      • 关闭端口:firewall-cmd --permanent --remove-port=端口号/协议
      • 重新载入,才能生效:firewall-cmd --reload
      • 查询端口是否开放:firewall-cmd --query-port=端口/协议
    14. 应用案例:

      1. 启用防火墙,测试111端口是否能telnet,不行

      2. 开放111端口

        firewall-cmd --permanent -add-port=111/tcp;  需要firewall-cmd --reload
        
      3. 再次关闭111端口

        firewall-cmd --permanent -remove-port=111/tcp;  需要firewall-cmd --reload
        
  • 动态监控进程

    1. 介绍

      topps命令很相似。他们都用来显示正在执行的进程。Topps最大的不同之处,在于top在执行一段时间可以更新正在运行的进程。

    2. 基本语法:top [选项]
      在这里插入图片描述

    3. 选项说明

      选项功能
      -d 描述指定top命令每隔几秒跟新。默认是3秒
      -i使top不显示任何闲置或者僵死进程
      -p通过指定监控进程ID来仅仅监控某个进程的状态
    4. 交互操作说明

      操作功能
      P以CPU使用率排序,默认就是此项
      M以内存的使用率排序
      N以PID排序
      Q退出top
    5. 应用实例

      • 监视特定用户,比如监控tom用户

        top:输入此命令,按回车键,查看执行的进程
        u:然后输入"u"回车,再输入用户名,即可
        
      • 终止指定的进程,比如要结束tom登录

        top:输入此命令,按回车键,查看执行的进程
        k:然后输入"k"回车,再输入要结束的进程ID号
        
      • 指定系统状态更新的时间(每隔10秒自动跟新),默认是3秒。top -d 10

  • 监控网络状态

    1. 查看系统网络情况netstat

      • 基本语法:netstat [选项]

      • 选项说明

        -an。按一定顺序排列输出

        -p。显示哪个进程在调用

      • 应用案例:查看服务名为sshd的服务的信息。netstat -anp | grep sshd
        在这里插入图片描述
        在这里插入图片描述

    2. 检测主机连接命令ping

      是一种网络检测工具,它主要是用来检测远程主机是否正常,或是两步主机间的网线或网卡故障。

2.11:RPM与YUM

  • rpm包的管理

    1. 介绍:

      rpm用于互联网下载包的打包及安装工具,它包含在某些Liunx分发版中。它生成具有.RPM扩展名的文件。RPMRedHat Package Manager(RedHat 软件包管理工具)的缩写,类似windwossetup.exe,这一文件格式名称虽然打上了RedHat的标志,但理念是通的

      Liunx的分发版本都有采用(suse,redhat,centos等等),可以算是公认的行业标准了。

    2. rpm包的简单查询指令

      查询已安装的rpm列表。rpm -qa | grep xx

    3. rpm包名基本格式

      一个rpm包名:firefox-60.2.2-1 .el7.centos.x86_64

      名称:firefox

      版本号:60.2.2-1

      适用操作系统:.el7.centos.x86_64。表示centos7.x的64位系统。

      如果是i686i386表示32位系统,noarch表示通用

    4. rpm包的其他查询指令

      rpm -qa。查询所安装的所有rpm软件包

      rpm -qa | more

      rpm -qa | grep X [rpm -qa | grep firefox]

      rpm -q 软件包名。查询软件包是否安装

      rpm -qi 软件包名。查询软件包信息

      rpm -ql 软件包名。查询软件包中的文件

      rpm -qf 文件全路径名。查询文件所属的软件包

    5. 卸载rpm

      • 基本语法:rpm -e RPM包的名称
      • 应用案例:删除firefox软件包。rpm -e firefox
      • 细节讨论:
        1. 如果其他软件包依赖于要卸载的软件包,卸载时则会产生错误信息
        2. 如果想要就是删除这个rpm包,可以增加参数--nodeps,就可以强制删除,但是一般不推荐这样做,因为依赖于该软件包的程序可能无法运行
    6. 安装rpm

      • 基本语法:rpm -ivh RPM包全路径名称

      • 参数说明

        -i=install安装

        v=verbose提示

        h=hash进度条

  • yum

    1. 介绍

      Yum是一个Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。

      示意图。
      在这里插入图片描述

    2. yum的基本指令

      查询yum服务器是否有需要安装的软件。yum list | grep XXX(软件列表)

    3. 安装指定的yum包:yum install XXX

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值