您的位置:首页 > 运维架构 > Linux

一文教你了解Linux进程管理

2020-10-24 13:03 821 查看

作者:RodmaChen
关注我的csdn博客,更多Linux笔记知识还在更新
本人只在csdn写博客

Linux进程管理

一. 什么是进程和程序

  1. 进程:开始执行但是还没有结束的程序的实例

  2. 程序:包含可执行代码的文件

  3. 进程与程序的关系

  • 进程由程序产生,是一个运行着的、要占系统资源的程序
  • 进程不等于程序
  • 进程与程序是 多对一
  • 进程是占用(消耗)系统资源的

二. 查看进程——ps,top,pstree

查看进程有三个命令

命令功能
ps显示进程信息
top显示进程状态
pstree显示系统进程树

接下来我们一一介绍:

  1. ps命令:显示某时刻系统进程的状态信息
    常用选项:

a
—显示现行终端机下的所有进程,包括其他用户的进程。
u
—以用户为主的格式来显示进程状况。
x
—显示所有进程,不以终端机来区分。

  • USER
    : 进程拥有者
  • PID
    :pid
  • %CPU
    :占用的cpu使用率
  • VSZ
    :占用的内存使用率
  • RSS
    :占用的虚拟内存大小
  • TTY
    :是否为登入者执行的程序
  • STAT
    :程序的状态,
    R
    :正在执行中,
    S
    :睡眠,
    T
    :正
  • 在检测或者停止,
    Z
    :死亡程序,
    <
    高 优先级,
    N
    低优先级,
    L
    有些页被锁进内存,
    s
    包含子进程,
    +
    位于后台的进程组;
    l
    多线程,克隆线程
  • START
    :程序开始时间
  • TIME
    :程序运行的时间 COMMAND:所执行的指令。
  1. top命令:动态显示进程状态

top命令以全屏幕的方式显示系统中的进程状态,并定时刷新显示的内容


介绍

  • 第一行:显示系统已启动的时间、目前上线人数、系统整体的负载(load)。 比较需要注意的 是系统的负载,三个数据分别代表 1, 5, 10分钟的平均负载。 一般来说,这个负载值应该 不太可能超过 1 才对,除非您的系统很忙碌。 如果持续高于 5 的话,那么…仔细的看看到底是那个程序在影响整体系统吧!
  • 第二行:显示的是目前的观察程序数量,
  • 第三行:显示的是 CPU 的整体负载,每个项目可使用 ? 查阅。需要观察的是 id (idle) 的数 值,一般来说,他应该要接近 100% 才好,表示系统很少资源被使用啊!
  • 第四行与第五行:表示目前的物理内存与虚拟内存 (Mem/Swap) 的使用情况。
  • 第六行:这个是当在 top程序当中输入指令时,显示状态的地方。

  • PID
    :每个 process 的 ID 啦!
  • USER
    :该 process 所属的使用者;
  • PR
    :Priority 的简写,程序的优先执行顺序,越小越早被执行;
  • NI
    :Nice 的简写,与 Priority 有关,也是越小越早被 222dd 执行;
  • %CPU
    :CPU 的使用率;
  • %MEM
    :内存的使用率;
  • TIME+
    :CPU 使用时间的累加;
  • SHR
    :共享内存大小,单位kb
  • RES
    :进程使用的、未被换出的物理内存大小,单位kb
  1. pstree命令:显示系统进程树
    pstree命令以树的形式显示系统进程间的父子关系
    需要安装psmisc软件包

三. 进程的启动方式

  1. 手工启动
  • 由用户输入命令,直接执行一个程序
  • 前台启动是普通的命令执行方式
  • 后台启动需要在命令尾加入“&”
  • # cp /dev/cdrom mycd.iso &
  1. 调度启动
  • 使用at命令设置某个命令在某个时间,一次性的在系统中执行
  • crontab
    命令设置在系统中需要周期性(如每天、每周等)完成的任务

四.进程的控制

(1)把当前终端中运行的进程调入后台

使用“Ctrl+z”组合键可以将当前终端的进程调入后台并停止执行

(2)查看后台的进程

jobs命令用于查看当前终端中后台的所有进程的状态

列:top到后台运行(【1】:是序号)

$ jobs
[1]+ Stopped top

(3)将后台的进程恢复到前台运行

fg命令用于将后台的进程调入终端前台执行

$ fg 1

kill命令:终止正在执行的命令
使用“Ctrl + c”组合键可以强制结束当前终端中运行的命令

五.实训任务

  1. 利用cp命令将光盘内容拷贝到home目录下,制作一个镜像文件a.iso,由于制作时间较长,请后台运行此命令。
  2. 查看后台运行的命令,获取进程号。
  3. 杀掉后台运行的命令。

本人博客:https://blog.csdn.net/weixin_46654114
本人b站求关注:https://space.bilibili.com/391105864
转载说明:跟我说明,务必注明来源,附带本人博客连接。

请给我点个赞鼓励我吧

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: