• ps命令学习


    转自:https://www.cnblogs.com/peida/archive/2012/12/19/2824418.html

    https://www.jianshu.com/p/943b90150c10

    1.简介

    ps命令是Process Status的缩写。

    ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。

    区别是:ps是一次性查看,top是长时间的观察进程的变化,是动态连续的。

    运行一次ps命令结果如下:

      PID TTY          TIME CMD
    18313 pts/0    00:00:00 bash
    18347 pts/0    00:00:00 ps

    不加任何参数输出上面,而且每次结果不同,(是当前用户目前运行的进程?),默认输出的是四列

    1.1 参数格式

    ps命令支持三种使用的语法格式:

    • UNIX 风格,选项可以组合在一起,并且选项前必须有“-”连字符;
    • BSD 风格,选项可以组合在一起,但是选项前不能有“-”连字符;
    • GNU 风格的选项,选项前有两个“-”连字符;
    而加不加-有很大的区别。
    ps -a  显示所有终端下执行的进程,包含其他用户的进程
    ps -A  显示所有进程
    ps -e  和-A功能一样
    ps -H  显示树状结构,表示程序间的相互关系
    ps -f  全格式显示进程
    
    ps a   显示当前终端下执行的进程
    ps c   显示进程的真实名称
    ps e   列出程序所使用的环境变量
    ps f   用ASCII字符显示树状结构,表达程序间的相互关系
    ps x   显示所有进程,无论是否运行在终端上
    ps u   显示用户相关的进程或者与用户相关的属性
    ps r   只显示正在运行的进程

    2.用法

    2.1 ps -u username 

    查看指定用户的进程信息,通过用户过滤进程信息:

    通过管道和less命令连接起来,使得查看更加简洁

    ps -u root |less

     解释:

    • PID: 该进程的id
    • TTY:登入者的终端机位置
    • TIME:占用CPU的时间
    • CMD:命令(产生当前进程的命令)

    2.2 ps -aux

    列出目前所有的正在内存当中的程序:

    命令参数解释:

    • a  显示所有进程、-a 显示同一终端下的所有程序
    • u  指定用户的所有进程
    • x调整输出格式

    输出解释:

    • %CPU:该 process 使用掉的 CPU 资源百分比
    • %MEM:该 process 所占用的物理内存百分比
    • VSZ :该 process 使用掉的虚拟内存量 (Kbytes)
    • RSS :该 process 占用的固定的内存量 (Kbytes)
    • STAT:该程序目前的状态,主要的状态有:D:不可中断(等待磁盘IO)、R运行、S中断(等待调用)、T停止、Z僵死。其中<表示优先级高的进程
    • TIME :该 process 实际使用 CPU 运作的时间

    2.3 ps -ef

     输出了进程所属的UID、父进程PID

    2.4 ps -l

    将属于本用户本次登入PID用到的相关信息展示出来:

    •  F表示程序的旗标 (flag), 4 代表使用者为 super user
    • S程序的状态 (STAT),D:不可中断、R运行、S中断、T停止、Z僵死
    • C:CPU 使用的资源百分比
    • PRI 是 Priority (优先执行序) 的缩写,进程的优先级
    • NI 是 Nice 值
    • ADDR 是 kernel function,指出该程序在内存的哪个部分。
    • SZ 使用掉的内存大小
    • WCHAN 目前这个程序是否正在运作当中,若为 - 表示正在运作

    3.其他

    3.1 查看进程运行时间

    ps -p PID -o lstart,etime

    通过控制输出-o

    3.2 与sort连用

    ps -aux --sort -%cpu | less

    按照占用cpu的降序排列。

    --sort=[+|-] key

    按内存降序:

    $ ps -aux --sort -%mem | less

    3.3 根据进程查看线程

    ps -L PID

    3.4 与watch动态观察

    watch -n 1 'ps -aux --sort -%mem | head 10'

    1s刷新一次

  • 相关阅读:
    Css进阶
    Css布局
    遇到的小问题
    MySQL 8.017连接Navicat中出现的问题
    ConcurrentHashMap图文源码解析
    HashMap图文源码解析
    接口和抽象类
    dependencies 和 devDependencies
    2020.7.7第二天
    2020.7.6第一天
  • 原文地址:https://www.cnblogs.com/BlueBlueSea/p/14409647.html
Copyright © 2020-2023  润新知