进程管理

概述

  • 进程是运行中一个程序
  • 程序是存在磁盘上的一个可执行文件,把程序加载到内存中执行就产生了一个进程,一个程序可以有多个运行的进程
  • 每个进程都有一个ID,称为PID
  • 进程也有User/Group,它们和执行者的一样。进程的权限和程序的权限是两个不同的概念,程序权限规定了谁可以执行该程序,进程权限规定了该进程可以读写哪些文件
  • 父进程,一个进程通过另一个进程启动,那么后一个进程就是前一个进程的父进程。每个进程都有一个父进程,PPID

任务管理

查看管理

ps

用途:ps指令用来查看系统某一时刻的进程状态

用法一:ps -l

仅查看自己的bash相关的进程

 

 输出结果的每一列说明:

  • F:进程标志(process flags)
    • 4表示此进程的权限为root
    • 1表示此进程只进行fork没有exec
  • S:进程状态
    • R(Running):正在运行
    • S(Sleep):睡眠状态,可以被唤醒
    • D:不可被唤醒的睡眠状态,通常是等待I/O
    • T:停止状态
    • Z(Zombie):僵尸状态,进程已经终止但是无法被移出内存
  • PID:进程ID
  • PPID:父进程ID
  • C:CPU使用率
  • PRI:进程优先级相关,Priority缩写
  • NI:进程优先级相关,Nice缩写
  • ADDR
    • -表示正在运行
  • SZ:内存使用量
  • WCHAN:是否正在运行
    • -表示正在运行
  • TTY:终端机
  • TIME:耗费CPU的时间
  • CMD:触发指令

用法二:ps aux

查看所有的进程

 

输出结果安装PID递增排序

输出结果和ps -l指令有差异

输出结果的每一列说明:

  • USER:进程执行者
  • PID:进程ID
  • %CPU:CPU资源占用比
  • %MEM:物理内存占用比
  • VSZ:虚拟内存使用量
  • RSS:占用的固定内存量
  • TTY:终端机
  • STAT:进程状态
    • R/S/T/Z
  • START:启动开始时间
  • TIME:CPU使用时间
  • COMMAND:进程触发指令

用法三:ps axjf

显示进程树

用法四:ps -lA

以用法一的输出格式化显示所有的进程

top

top指令用于持续监控进程状态

语法:

  top | top -d num | top -bnp

选项:

  -d num:持续监控时间,num单位为s

  -b:按次执行top指令

  -n:指定执行top指令的次数

  -p:指定监控的PID

交换操作:

  ?:显示帮助信息

  P:以资源使用量排序

  M:以内存使用量排序

  N:以PID排序

  T:以CPU使用时间排序

  k:发送一个信号到某个进程

  r:重新设定进程的nice值

  q:离开监控

输出结果示例:

输出结果说明:

 

表头:

  1. 第一行从左到右
    1. 07:48:15:系统时间
    2. up 1:26:开机时长
    3. 1 user:当前登录到系统的用户人数
    4. load average: 0.00, 0.01, 0.05:系统工作负载,分别为1,5,15分钟的
  2. 第二行从左到右
    1. 93 total:进程总数
    2. 1 running:正在运行的进程数
    3. 92 sleeping:正在睡眠的进程数
    4. 0 stopped:停止的进程数
    5. 0 zombie:僵尸进程数
  3. 第三行从左到右:反映CPU负载情况
  4. 第四行从左到右
    1. 1026900 total:物理内存总量
    2. 825892 free:未使用物理内存量
    3. 84436 used:已使用物理内存量
    4. 116572 buff/cache:缓冲区大小
  5. 第五行从左到右:反映虚拟内存使用情况

表格:

  1. PID:进程ID
  2. USER:进程触发用户
  3. PR:优先级相关
  4. NI:优先级相关
  5. VIRT
  6. RES
  7. SHR
  8. S:进程状态
  9. %CPU:CPU使用占比
  10. %MEM:内存使用占比
  11. TIME+:CPU使用累积时间
  12. COMMAND:进程触发命令

pstree

查看进程树

语法:

  pstree [-A|U] [-up]

选项:

  -A:进程树之间使用ASCII字符连接

  -U:进程树之间使用Unicode字符连接

  -u:显示进程所属的用户

  -p:显示进程ID

 

posted @ 2020-09-11 11:28  StrongerBrother  阅读(171)  评论(0编辑  收藏  举报