一、命令介绍

  ps命令用于查看系统中进程状态。它是显示瞬间进程的状态,并不动态连续,如果想对进程进行实时监控应该用top命令。

选项 含义
-A 显示所有进程,等效于-e
-a 显示当前终端下所有进程
-u 显示进程的归属用户及其它详细信息
-x 显示没有控制终端的进程
-l 显示长格式
-f 显示完整格式
-L 显示线程
-o 自定义格式

二、输出信息含义

(1)ps aux

[root@cp ~]# ps -aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.2 190852  3796 ?        Ss   Apr01   0:19 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root         2  0.0  0.0      0     0 ?        S    Apr01   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    Apr01   0:00 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S<   Apr01   0:00 [kworker/0:0H]
root         7  0.0  0.0      0     0 ?        S    Apr01   0:00 [migration/0]
root         8  0.0  0.0      0     0 ?        S    Apr01   0:00 [rcu_bh]
root         9  0.0  0.0      0     0 ?        R    Apr01   0:21 [rcu_sched]
root        10  0.0  0.0      0     0 ?        S<   Apr01   0:00 [lru-add-drain]
root        11  0.0  0.0      0     0 ?        S    Apr01   0:01 [watchdog/0]
root        13  0.0  0.0      0     0 ?        S    Apr01   0:00 [kdevtmpfs]
 • USER:启动进程的用户
 • PID:进程运行的ID号
 • %CPU:进程占用cpu的百分比
 • %MEM:进程占用内存的百分比
 • VSZ:进程占用虚拟内存大小
 • RSS:进程占用物理内存大小
 • TTY:进程在那个终端运行
    - tty1 - tty7代表本地控制台终端。其中tty1~tty6是本地字符界面终端,tty7是图形终端。
    - pts/0~pts/225代表虚拟终端,一般是远程连接终端
    - ?表示是系统运行的
 • STAT:进程状态
    - R:运行状态
    - S:睡眠状态
    - D:不可中断状态
    - T:停止状态
    - Z:僵死状态
    - s:进程的领导者,也就是一个进程的父进程。例如以下,第一列PPID代表父进程ID,第二列PID
    代表进程ID。这里我们可以看到PID为1101的进程为其中子进程的父进程,同时它的进程状态为Ss。
      [root@cp ~]# ps axjf | grep httpd
          1  1101  1101  1101 ?           -1 Ss       0   0:18 /usr/sbin/httpd -DFOREGROUND
      1101 18178  1101  1101 ?           -1 S       48   0:00  \_ /usr/sbin/httpd -DFOREGROUND
      1101 18179  1101  1101 ?           -1 S       48   0:00  \_ /usr/sbin/httpd -DFOREGROUND

  - <:高优先级
  - N:低优先级
  - +:当前进程运行在前台,R+表示进程正在前台运行
  - l:进程是多线程的
  - L:进程被锁入内存

 • START:进程的启动时间
 • TIME:进程占用CPU的运算时间,0表示还没超过秒。
 • COMMAND:程序的运行指令,[]属于内核态的进程

(2)ps -elf

[root@cp ~]# ps -elf
F S UID        PID  PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD
4 S root         1     0  0  80   0 - 47713 ep_pol Apr01 ?        00:00:19 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
1 S root         2     0  0  80   0 -     0 kthrea Apr01 ?        00:00:00 [kthreadd]
1 S root         3     2  0  80   0 -     0 smpboo Apr01 ?        00:00:00 [ksoftirqd/0]
1 S root         5     2  0  60 -20 -     0 worker Apr01 ?        00:00:00 [kworker/0:0H]
1 S root         7     2  0 -40   - -     0 smpboo Apr01 ?        00:00:00 [migration/0]
1 S root         8     2  0  80   0 -     0 rcu_gp Apr01 ?        00:00:00 [rcu_bh]
1 R root         9     2  0  80   0 -     0 -      Apr01 ?        00:00:21 [rcu_sched]
 • F:进程标志,说明了进程的权限
    - 1:进程可以被复制,但不能被执行
    - 4:进程使用超级用户权限
 • S:进程状态
 • UID:运行此进程的用户的ID
 • PID:进程运行的ID号
 • PPID:父进程运行的ID号
 • C:该进程cpu使用率
 • PRI:进程的优先级,数值越小,该进程的优先级越高,越早被 CPU 执行。
    - Linux中的PRI(new) = PRI(old) + nice ,其中 PRI(old)为系统算法决定 ,在创建时被赋予
    不同的值,用户不可修改 ,用户只能通过修改nice来修改进程的优先级。
 • NI:进程的优先级,数值越小,该进程越早被执行。
    - 进程优先级的修正量, -20 - 19 ,用户可修改 (root用户可修改nice值-20 - 19 ,普通用户
    只能修改nice值0-19 )。一般情况下,子进程继承父进程的nice值,由于init进程的nice值为0,
    所有大部分进程的nice值都为 0。
    - 用户可通过renice xx 进程号 的命令修改进程的优先级 ,其中xx为nice值,eg : renice -20 22401。
    注:PRI(old)被系统保留 ,每执行一次renice xx 进程号命令,都是在PRI(old)基础上+nice值
 • ADDR:该进程在内存的哪个位置,"-"代表正在运行
 • SZ:该进程占用多大内存
 • WCHAN:该进程是否运行。"-"代表正在运行

(3)ps -eLf

[root@cp ~]# ps -eLf
UID        PID  PPID   LWP  C NLWP STIME TTY          TIME CMD
root         1     0     1  0    1 Apr01 ?        00:00:19 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root         2     0     2  0    1 Apr01 ?        00:00:00 [kthreadd]
root         3     2     3  0    1 Apr01 ?        00:00:00 [ksoftirqd/0]
root         5     2     5  0    1 Apr01 ?        00:00:00 [kworker/0:0H]
root         7     2     7  0    1 Apr01 ?        00:00:00 [migration/0]
root         8     2     8  0    1 Apr01 ?        00:00:00 [rcu_bh]
root         9     2     9  0    1 Apr01 ?        00:00:21 [rcu_sched]
 • LWP:线程ID,别名SPID、TPID
 • NLWP:进程中的线程数

发表评论

验证码: 7 + 1 =