菜鸟笔记
提升您的技术认知

Linux 查看进程之PS命令

      要对进程进行检测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程运行状态。Linux 系统中

我们可以使用 ps 命令查看进程。

      ps 命令介绍

      ps(process status) 命令是 Linux 下最常用的进程查看工具,使用该命令可以确定哪些进程正在运行和运行的状态、

进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等等。

      注意:ps 命令工具显示的是进程的瞬间状态,并不是动态连续显示,如果想对进程状态进行实时监控应该用 top 命

令。

       ps 命令的基本使用

       1. 执行任何不加选项的 ps 命令

[root@VM_81_181_centos ~]# ps
  PID TTY          TIME CMD
22402 pts/1    00:00:00 bash
22447 pts/1    00:00:00 ps

  直接执行不加任何选项的 ps 命令时,则只显示当前用户会话中打开的进程。第一行为列表标题,包含基本四个字段,

各个字段的含义描述如下:

       PID:表示该进程的唯一 ID 号

       TTY 或 TT:启动进程的终端名。表示该进程在哪个终端上运行。不是从终端启动的进程或与终端机无关的进程则显示

为 ? 

      TIME:该进程使用 CPU 的累计时间

      CMD:该进程所运行的命令

      2.使用标准语法 (Unix 风格) 查看各个进程

      

      选项:

      -e:显示系统内所有进程的信息。与 -A 选项功能相同

      -f:使用完整 (full) 的格式显示进程信息,如果只有 ps -e 则输出进程信息的格式和只使用 ps 一样

      各字段含义如下:

      UID:启动该进程的用户的 ID 号

      PPID:代表该进程的父进程的 ID 号

      C:进程的 CPU 处理器利用率

      STIME/START:表示进程的启动时间

      注意:也可以使用 ps -eF 命令查看系统内的所有进程信息,输出的进程信息比使用 ps -ef 多三个信息分别是:SZ,RSS

,PSR 关于这三个感兴趣的可以自己上网查阅一下

      3.使用 BSD 语法查看系统上的进程信息

         3.1 显示当前终端下的所有信息

         

         a:显示当前终端下的所有进程信息,包含其他用户的进程信息。和 x 选项结合使用可以显示系统中所有进程的信息

         x:显示当前用户在所有终端下的进程信息

        字段描述:

        STAT:表示进程的当前状态

R:running,运行或可运行状态(在运行队列中)。正在运行或准备运行的进程。

S:interruptable sleeping,可中断睡眠(等待事件完成)。正在睡眠的进程。

D:uninterruptable sleeping,不可中断的睡眠进程(通常为IO)。

T:stopped,停止或被追踪的进程。由作业控制信号停止。

Z:zombie,失败终止的(“僵死”)进程。

s:session leader,会话层状态。代表的父进程

N:低优先级进程

<:高优先级进程

+:前台进程。在前台进程组中

l:多线程进程。

  3.2 以面向用户的格式显示当前终端下的所有信息

       

       u:使用以用户为主的格式输出进程信息

       字段描述:

       USER:启动该进程的用户帐号名称

       %CPU:表示进程的 CPU 占用率

       %MEM:表示进程的内存占用率

       VSZ:表示进程虚拟内存的大小,以 KB 为单位

    4. 排序

        当使用 aux 选项查看进程的 CPU 或内存使用量来筛选,从而方便找出占用资源最多的进程,但是默认情况下不排序,

在这里我们可以使用 --sort 命令选项排序,例如:

         

         ps aux --sort=%mem 或 ps aux --sort %mem 这两条命令是一样的,也可以使用 ps aux --sort=+%mem 或 ps aux --sort +%mem,

%mem 前面默认有一个加号 + ,加不加上结果都是一样的,都表示升序排序,如果想要降序排序并且看到字段标题可以在 %mem 前面

加上减号 -,如下所示:

        

  5.根据特定条件过滤

     在这里介绍一下和 grep 命令结合使用

     仅仅显示一个名为 sshd 的进程信息 

     

      

      以上就是 Linux 使用 ps 查看进程的部分比较常用的操作命令