Linux基础(4)进程管理

该文章主要为完成实训任务,详细实现过程及结果见【参考文章】
参考文章:https://howard2005.blog.csdn.net/article/details/127066383?spm=1001.2014.3001.5502


一、查看进程

1. 进程查看命令 - ps

  • ps: process status

(1)命令作用在这里插入图片描述

  • 将某个时间点的程序运作情况截取下来。

(2)参数说明
在这里插入图片描述
(3)操作案例

  • 执行命令: ps la | head -5,能够观察所有系统的数据
    在这里插入图片描述

  • 执行命令:ps axjf | head -20,连同部分程序树状态
    在这里插入图片描述

  • 执行命令:ps l仅查看自己的bash相关的进程
    在这里插入图片描述

  • 执行命令:ps aux观察系统所有进程
    在这里插入图片描述
    在这里插入图片描述

2. Liunx进程状态

在这里插入图片描述

3. 观察进程变化命令 - top

(1)参数选项
在这里插入图片描述
(2)操作案例演示

  • 执行命令:top -d 3,每隔三秒更新一次数据
    在这里插入图片描述
  • 执行命令:top -b -n 2,进行两次top的输出结果
    在这里插入图片描述
    在这里插入图片描述

4. 查看进程树命令

(1)命令概述

  • pstree命令用于查看进程树之间的关系,即哪个进程是父进程,哪个是子进程,可以直观地看出是谁创建了谁。Linux 系统中进程之间的关系就是一棵树,树的根就是进程 PID 为 1 的 init 进程。

(2)安装pstree

  • 执行命令:yum -y install psmisc
    在这里插入图片描述
    (3)参数说明
    在这里插入图片描述
    (4)操作案例演示
  • 执行命令:pstree
    在这里插入图片描述
  • 执行命令:pstree -Aup
    在这里插入图片描述

二、杀死进程 - kill命令

1. 命令作用

  • kill发送信号,并不只是杀进程。

2. 参数说明

在这里插入图片描述

3. 操作案例演示

  • 执行命令:pstree -aup | grep sshd
    在这里插入图片描述
  • 用参数-1来杀1275进程,执行命令:kill -1 1275
    在这里插入图片描述
  • 说明没有杀死sshd进程,又重新加载了
  • 用参数-9来杀死这个守护进程sshd,执行命令:kill -9 1275
    在这里插入图片描述
  • 启动firewalld进程并查看其进程树
    在这里插入图片描述
  • 问题:父进程被kill掉,它的子进程是否就一起被kill掉?
    在这里插入图片描述
  • 结论:父进程被kill掉了,但是其子进程还依然存在。
  • 如果任务是杀死所有用户的firewalld进程,那么就需要多次发布kill命令,很烦的,怎么办呢?Linux提供了一个很好的命令:killall。
  • 利用killall命令杀死所有用户的firwalld进程
    在这里插入图片描述

三、系统资源监控

1. free命令

  • 观察内存(memory)使用情况
    在这里插入图片描述

2. uname命令

  • 查阅系统与核心相关信息
    在这里插入图片描述

3. uptime命令

  • 观察系统启动时间与工作负载
    在这里插入图片描述

4. netstat命令

  • 网络状态监控,CentOS7默认没有安装netstat,需要自行安装
  • 执行命令:yum -y install net-tools
    在这里插入图片描述
  • 执行命令:netstat -atp
    在这里插入图片描述
  • 执行命令:netstat -antp
    在这里插入图片描述
  • 执行命令:netstat -lntp
    在这里插入图片描述

5. vmstat命令

  • 侦测系统资源变化,CPU/内存/磁盘输入输出状态
  • 执行命令:vmstat 1 4,统计目前主机CPU状态,每秒一次,共计四次
    在这里插入图片描述

四、任务管理

1. 前台进程

  • 可以控制与执行命令的bash环境称为前台进程。

2. 后台进程

  • 在操作系统中自行运行,你无法使用[Ctrl + C]终止,可使用bg/fg命令操作的任务。
  • 后台执行的任务不能接收终端(terminal/shell)的输入。

3. 操作案例演示

  • Ctrl+Z切换到后台,或者执行命令:tail -F anaconda-ks.cfg &
    在这里插入图片描述
  • 在当前bash执行多个任务
    在这里插入图片描述
  • 观察后台任务,用jobs命令(后台任务是一个任务栈,+表明该任务处于栈顶,发布fg命令,只有处于栈顶的后台任务才能切换成前台任务)
    在这里插入图片描述
  • 执行命令:jobs -r # r: Running

在这里插入图片描述

  • 执行命令:jobs -s # s: Stopped
    在这里插入图片描述
  • 执行命令:jobs -l,可以显示后台任务进程号
    在这里插入图片描述
  • 三种任务状态:Running, Stopped, Killed
  • 执行命令:pstree -aup,查看进程树的sshd部分
    在这里插入图片描述
  • 利用fg命令可以将后台任务切换到前台,注意每次发布fg命令,只能将处于任务栈顶的后台任务(编号后是“+”的后台任务)切换到前台进行处理,然后栈顶的下一个任务就成为新的栈顶任务,其编号后的“-”就会变成“+”。
  • 发布一次fg命令
  • 进入末行模式,输入q,不存盘退出
    在这里插入图片描述
  • 执行命令:jobs -l
    在这里插入图片描述
  • 现在,执行fg命令之后,2768这个处于栈顶的后台任务会变成前台任务来处理,但是我们暂时不把该任务切换到前台。我们试着杀死该后台任务。
  • 停止作业:kill -15 17788
    在这里插入图片描述
  • 事实表明,删不掉vim作业,应该使用参数-9
    在这里插入图片描述
  • 再次执行命令:fg
    在这里插入图片描述
  • 小结:通过fg命令,可以不断把栈顶的作业从后台变成前台作业来处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值