进程管理常用命令

Posted linuxys

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进程管理常用命令相关的知识,希望对你有一定的参考价值。

      PS命令

    ps [OPTIONS]

选项有三种风格
1 UNIX : 选项必须加-
2 BSD : 选项不能加-
3 GNU : 选项要加两个-


启动进程的方式
 系统启动过程中自动启动,与终端无关
 用户通过终端启动,与终端相关的进程

 

BSD风格选项
  a 所有于终端相关的进程
  x 所有于终端无关的进程
  u 以用户为中心组织进程状态信息显示

 

常用选项之一 aux
    USER 运行进程的user
    PID 进程号
    %CPU 占用cpu百分比
    %MEM 占用内存百分比
    VSZ 虚拟内存集
    RSS 常驻内存集
    TTY 运行进程的终端
    START 进程开始时间
    TIME 累计运行cpu时间
    COMMAND 运行进程的命令
    STAT 状态
    R 运行态
    T 停止态
    Z 僵尸态
    + 前台进程
    l 多线程进程
    N 低优先级进程
    < 高优先级进程
    s 进程领导者
    S 可中断的睡眠
    D 不可中断的睡眠

UNIX风格选项
    -e 显示所有进程
    -f 显示完整格式的进程信息
    -F 更加完整
    -H 以层级结构显示

 

常用选项之二 ps -ef
    UID 运行进程的user
    PID 进程号
    PPID 进程的父进程号
    C 占用cpu百分比
    STIME 开始时间
    TTY 运行于那个终端
    TIME 累计运行cpu时间
    CMD 启动此进程的命令

常用选项之三 ps -eFH

    UID 运行进程的user
    PID 进程号
    PPID 进程的父进程号
    C 占用cpu百分比
    SZ 使用的内存大小
    RSS 常驻内存集
    PSR 运行于哪个cpu
    STIME 开始时间
    TTY 运行于那个终端
    TIME 累计运行cpu时间
    CMD 运行进程的命令


      HTOP命令
默认会显示以下内容

上左区
  CPU 目前CPU的使用率 (多个CPU时显示数字,1 2 3 4 ...)
  MEM 目前内存的使用率
  SWP 目前swap的使用率

上右区
  tasks 所有的进程数
  thr 用户线程数 H隐藏/显示
  kthr 内核线程数 K隐藏/显示
  runing 运行中的进程数
  load average 显示1分钟 5分钟 和15分钟的平均负荷
  uptime 开机到现在的运行时间

下方进程区

  PID:进行的标识号
  USER:运行此进程的用户
  PRI:进程的优先级
  NI:进程的优先级别值,默认的为0,可以进行调整
  VIRT:进程占用的虚拟内存值
  RES:进程占用的物理内存值
  SHR:进程占用的共享内存值
  S:进程的运行状况,R表示正在运行、S表示休眠,等待唤醒、Z表示僵死状态
  %CPU:该进程占用的CPU使用率
  %MEM:该进程占用的物理内存和总内存的百分比
  TIME+:该进程启动后占用的总的CPU时间
  COMMAND:进程启动的启动命令名称


底部功能区
  F1 帮助
  F2 显示设置
  F3 进程搜索
  F4 进程过滤器
  F5 显示进程树
  F6 排序, 如果是进程树模式将会展开或收缩父进程
  F7 减小nice值
  F8 增加nice值 直接修改光标选取的进程的nice值
  F9 杀掉指定进程
  F10 退出htop

功能键
  空格键 用于标记选中的进程,用于实现对多个进程同时操作
  U 取消所有选中的进程
  s 显示光标所在进程执行的系统调用
  l 显示光标所在进程的文件列表
  I 对排序的结果进行反转显示
  a 绑定进程到指定的CPU
  u 显示指定用户的进程
  M 按照内存使用百分比排序,对应MEM%列
  P 按照CPU使用百分比排序,对应CPU%列
  T 按照进程运行的时间排序,对应TIME+列
  K 隐藏内核线程
  H 隐藏用户线程
  # 快速定位光标到PID所指定的进程上

htop相关选项
  -d 设置刷新时间,单位为秒;
  -C 设置界面为无颜色
  -u 显示指定用户的进程

 


      vmstat命令

vmstat [options] [delay [count]]

procs 进程
  r 等待执行的任务数
  b 等待IO的进程数量

memory 内存
   swpd 交换内存使用总量
  free 空闲的物理内存总量
  buff 已用的buff大小,对块设备的读写进行缓冲
  cache 已用的cache大小,文件系统的cache

swap
  si 每秒从交换区写到内存的大小
  so 每秒写入交换区的内存大小

io
  bi 每秒读取的块数
  bo 每秒写入的块数

system
  in 中断速率 每秒中断数,包括时钟中断
  cs 每秒上下文切换数

cpu
  us 用户进程执行消耗cpu时间
  sy 系统进程消耗cpu时间
  id 空闲时间
  wa 等待io时间
  st 被虚拟化技术偷走的百分比 (这是一般不用关注)

  us + sy + id + wa =100%

  vmstat -s 显示内存统计数据

      pmap命令


pmap命令 查看进程的内存映像信息
  pmap [options] PID

常用选项
  -x 详细输出

另一种查看方式
  cat /proc/{PID}/maps

 

      dstat命令


dstat命令 生成系统资源统计信息的通用工具

dstat [-afv] [options..] [delay [count]]

dstat -t --top-cpu-adv 1 0

 

常用选项
  -t 显示时间
  -c 显示cpu相关信息
  -d 显示硬盘相关信息
  -g 显示page的速率
  -m 显示内存相关信息
  -n 显示网络相关信息
  -p 显示process相关信息
  -r 显示io请求的相关信息
  -s 显示swap的相关信息

  --tcp 查看网络连接数据
  --udp
  --raw
  --socket 展示套接字状态,包括tot总数量,tcp套接字数量,udp套接字数量,
  raw原始套接字数量,frg(ip-fragments IP碎片)套接字数量


查看top进程
  --top-cpu 最占用cpu的进程
  --top-io 最占用io的进程
  --top-mem 最占用内存的进程
  --top-latency 延时最大的进程

 

kill和killall命令

kill命令 用于向进程发送信号

kill [-s signal | signal ] pid... 发送信号
kill -l [signal] 查看信号

 

每个信号有三种标识方法
  1 信号的数字标识
  2 信号的完整名称
  3 信号的简写名称

常用信号
    1) SIGHUP:无需关闭进程而让其重读配置文件
    2) SIGINT:终止正在运行的进程 相当于ctrl+c
    3)SIGQUIT:退出 同ctlr+
    9) SIGKILL:杀死运行中的进程 直接处死
    15)SIGTERM:默认信号 终止运行中的进程
    18)SIGCONT:继续执行 运行停止中的进程 fg将后台中的命令调至前台继续运行/bg将一个在后台暂停的命令,变成继续执行
    19)SIGSTOP:停止执行 同ctlr+z

 

    killall 可以根据名字来杀死进程,它会给指定名字的所有进程发送信息

      linux作业控制

前台作业 通过终端启动,启动后会一直占据终端
后台作业 可以通过终端启动,启动后转入后台执行(释放终端)

如何让作业运行于后台
  1:ctlr+z
注意:送往后台后,作业变为会停止态
  2:command &
此类作业虽然被送往后台,但依然与终端相关一旦关闭终端作业也会停止
除非使用nohup
查看所有作业

  jobs -l

可实现作业控制的常用命令
  fg [[%]JOB_NUM] 将作业调回到前台运行
  bg [[%]JOB_NUM] 让送往后台的作业在后台运行
  kill %JOB_NUM 给作业发送信号

以上是关于进程管理常用命令的主要内容,如果未能解决你的问题,请参考以下文章

Supervisord管理进程常用命令

记录自己常用的进程管理命令

常用的高级系统管理命令

linux进程管理和系统状态常用命令简介

进程管理常用命令

Linux 系统常用命令汇总 程序和资源管理