Linux系统中BSD风格的ps命令参数

ps命令

  • 描述

静态监控进程(程序被触发后 , 执行者的权限与属性、程序的程序码与所需数据等都会被载入内存中 , 操作系统并给予这个内存内的单元一个识别码 (Process ID,PID), 可以说 , 进程就是一个正在运行中的程序,即cpu未完成的工作)。

  • 用法
 ps   [options]
  • 选项
a           ## 关于当前环境的所有进程
x | -A      ## 列出所有的进程    
f           ## 显示进程从属关系
e           ## 显示进程调用环境工具的详细信息
l           ## 长列表显示进程的详细信息
u           ## 显示进程的用户信息
-a          ## 显示shell前台运行命令的进程,但不保函shell本身
-w          ## 显示加宽可以显示较多的信息
-au         ## 显示较详细的信息   
-aux        ## 显示所有包含其他使用者的进程
-e          ## 显示所有运行在系统上的进程
-f          ## 扩展了输出,这些扩展的列包含了有用的信息
-ef         ## 全格式显示进程信息

Linux系统使用的GNU ps命令支持3种不同类型的命令行参数

  • BSD 风格的参数,前面不加破折线
  • Unix 风格的参数,前面加单破折线
  • GNU 风格的长参数,前面加双破折线

STAT进程状态(第一个字符)

  • R (Running): 该程序正在运行中
  • S (Sleep): 该程序目前正在睡眠状态 (idle), 但可以被唤醒(signal)
  • D 不可被唤醒的睡眠状态 , 通常进程可能在等待 I/O 的情况
  • T 停止状态 (stop), 可能是在工作控制 ( 背景暂停 ) 或除错(traced) 状态
  • Z (Zombie): 僵尸状态 , 程序已经终止但却无法被移除至内存外

STAT进程状态(第二个字符)

L             ## 内存中有(页面)锁定空间
N             ## 优先级低
<             ## 优先级高
+             ## 前台运行
s             ## 该进程是控制进程(顶级进程)
l             ## 该进程是多线程的

示例

  • 1、 ps l 长格式输出
[root@test ~]# ps l
F   UID   PID  PPID PRI  NI    VSZ   RSS WCHAN  STAT TTY        TIME COMMAND
4     0   620   608  20   0 160724 17792 poll_s Ss+  tty1       0:00 /usr/bin/Xorg :0 -
4     0  1034   947  20   0 116144  2796 wait   Ss   pts/0      0:00 -bash
1     0  1078     1  20   0  16040   564 poll_s S    pts/0      0:00 dbus-launch --auto
0     0  3494  1034  20   0 121260   984 -      R+   pts/0      0:00 ps l

参数解释

F               ## 内核分配给进程的系统标记
UID             ## 启动这些进程的用户
PID             ## 进程的进程ID
PPID            ## 父进程的进程号(如果该进程是由另一个进程启动的)
PRI             ## 进程的优先级(越大的数字代表越低的优先级)
NI              ## 谦让度值用来参与决定优先级
VSZ             ## 进程在内存中的大小,以千字节(KB)为单位
RSS             ## 进程在未换出时占用的物理内存
WCHAN           ## 进程休眠的内核函数的地址
STAT            ## 当前进程状态的双字符状态码
TTY             ## 进程启动时的终端设备
TIME            ## 运行进程需要的累计CPU时间
COMMAND         ## 启动程序名称

2、 ps ax 输出

[root@test ~]# ps ax
  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:01 /usr/lib/systemd/systemd --switched-root --system --deserial
    2 ?        S      0:00 [kthreadd]
    3 ?        S      0:00 [ksoftirqd/0]
    5 ?        S<     0:00 [kworker/0:0H]
   10 ?        R      0:00 [rcu_sched]
   11 ?        S      0:00 [rcuos/0]
   12 ?        S      0:00 [watchdog/0]
...     ...     ...     ...   ...
  995 ?        Ssl    0:00 /usr/bin/gnome-session --autostart /usr/share/gdm/greeter/au
  998 ?        S      0:00 /usr/bin/dbus-launch --exit-with-session /usr/bin/gnome-sess
 1034 pts/0    Ss     0:00 -bash
 1048 ?        Ss     0:00 /bin/dbus-daemon --fork --print-pid 4 --print-address 6 --se
 1053 ?        Sl     0:00 /usr/libexec/at-spi-bus-launcher
 1070 ?        S      0:00 /bin/dbus-daemon --config-file=/etc/at-spi2/accessibility.co
 1075 ?        Sl     0:00 /usr/libexec/at-spi2-registryd --use-gnome-session
 1078 pts/0    S      0:00 dbus-launch --autolaunch=946cb0e817ea4adb916183df8c4fc817 --
...    ...  ...   ...    ...   ...
 4658 ?        S      0:00 [kworker/0:1]
 4898 ?        R      0:00 [kworker/0:0]
 4996 ?        S      0:00 sleep 60
 5005 ?        S      0:00 sleep 3
 5006 pts/0    R+     0:00 ps ax

参数解释

PID             ## 进程的进程用户
TTY             ## 进程启动时的终端设备
STAT            ## 当前进程状态的双字符状态码
TIME            ## 运行进程需要的累计CPU时间
COMMAND         ## 启动程序名称
  • 2、 ps -ef 输出
[root@test ~]# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 09:08 ?        00:00:01 /usr/lib/systemd/systemd --switched-roo
root         2     0  0 09:08 ?        00:00:00 [kthreadd]
root         3     2  0 09:08 ?        00:00:00 [ksoftirqd/0]
root         5     2  0 09:08 ?        00:00:00 [kworker/0:0H]
root         7     2  0 09:08 ?        00:00:00 [migration/0]
root         8     2  0 09:08 ?        00:00:00 [rcu_bh]

参数解释

UID          #启动这些进程的用户
PID          #进程的进程用户
PPID         #父进程的进程号(如果该进程是由另一个进程启动的)
C            #进程生命周期中的CPU利用率
STIME        #进程启动时的系统时间
TTY          #进程启动时的终端设备
TIME         #运行进程需要的累计CPU时间
CMD          #启动程序名称
  • 3、 ps -au(x) 输出
[root@test ~]# ps -au
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root       618  0.0  0.4 160724 17800 tty1     Ss+  22:25   0:00 /usr/bin/Xorg :0 -background none -v
root      2231  0.0  0.0 116144  2780 pts/0    Ss   22:50   0:00 -bash
root      2273  0.0  0.0  16040   572 pts/0    S    22:50   0:00 dbus-launch --autolaunch=946cb0e817e
root      3046  0.0  0.0 123356  1320 pts/0    R+   23:06   0:00 ps -au
[root@test ~]# ps -aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1  49940  3944 ?        Ss   22:25   0:01 /usr/lib/systemd/systemd --switched-
root         2  0.0  0.0      0     0 ?        S    22:25   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    22:25   0:00 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S<   22:25   0:00 [kworker/0:0H]
root         7  0.0  0.0      0     0 ?        S    22:25   0:00 [migration/0]
... ... ... ... ... ... 

其代表含义如下:USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

USER:  进程拥有者
PID:   pid
%CPU:  占用的 CPU 使用率
%MEM:  占用的内存使用率
VSZ:   占用的虚拟内存大小
RSS:   占用的内存大小
TTY:   进程启动时的终端设备
STAT:  该进程的状态:
    D: 不可中断的静止
    R: 正在执行中
    S: 静止状态
    T: 暂停执行
    Z: 不存在但暂时无法消除
    W: 没有足够的内存分页可分配
    <: 高优先序的进程
    N: 低优先序的进程
    L: 有内存分页分配并锁在内存内 
START: 进程开始时间
TIME:  执行的时间
COMMAND: 所执行的指令

你可能感兴趣的:(Linux系统,Shell)