ps 命令

介绍

ps(英文全拼:process status)命令用于显示当前进程的状态,类似于 windows 的任务管理器。

语法

ps [选项]

参数

ps 的参数非常多, 在此仅列出几个常用的参数:

  • -A:列出所有的进程
  • -e:此选项的效果和指定”A”选项相同
  • -f:显示 UID、PPIP、C 与 STIME 栏目
  • -w:显示加宽可以显示较多信息
  • -au:显示较详细的信息
  • -aux:显示所有包含其他使用者的行程

ps 命令有两种展示风格:

ps -ef 命令 ps aux 命令
展示风格 System V 风格 BSD 风格
指令名称 显示带全路径的进程名 会截断 command 列

示例

查看进程(System V 风格)

$ ps -ef | head
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 09:19 ?        00:00:03 /sbin/init splash
root         2     0  0 09:19 ?        00:00:00 [kthreadd]
root         4     2  0 09:19 ?        00:00:00 [kworker/0:0H]
root         6     2  0 09:19 ?        00:00:00 [mm_percpu_wq]
root         7     2  0 09:19 ?        00:00:00 [ksoftirqd/0]
root         8     2  0 09:19 ?        00:00:40 [rcu_sched]
root         9     2  0 09:19 ?        00:00:00 [rcu_bh]
root        10     2  0 09:19 ?        00:00:00 [migration/0]
root        11     2  0 09:19 ?        00:00:00 [watchdog/0]

列表含义:

  • UID :程序被该 UID 所拥有
  • PID :就是这个程序的进程 ID
  • PPID :是其上级父进程的 ID
  • C :表示 CPU 使用的资源百分比
  • STIME :表示进程启动时间
  • TTY :登入者的终端机位置
  • TIME :使用掉的 CPU 时间
  • CMD :所下达的指令为何

查看进程(BSD 风格)

$ ps aux | head
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0 185576  6164 ?        Ss   09:19   0:03 /sbin/init splash
root         2  0.0  0.0      0     0 ?        S    09:19   0:00 [kthreadd]
root         4  0.0  0.0      0     0 ?        I<   09:19   0:00 [kworker/0:0H]
root         6  0.0  0.0      0     0 ?        I<   09:19   0:00 [mm_percpu_wq]
root         7  0.0  0.0      0     0 ?        S    09:19   0:00 [ksoftirqd/0]
root         8  0.1  0.0      0     0 ?        I    09:19   0:41 [rcu_sched]
root         9  0.0  0.0      0     0 ?        I    09:19   0:00 [rcu_bh]
root        10  0.0  0.0      0     0 ?        S    09:19   0:00 [migration/0]
root        11  0.0  0.0      0     0 ?        S    09:19   0:00 [watchdog/0]

列表含义:

  • USER :进程拥有者
  • PID :进程 ID
  • %CPU :占用的 CPU 使用率
  • %MEM :占用的记忆体使用率
  • VSZ :占用的虚拟记忆体大小
  • RSS :占用的记忆体大小
  • TTY :终端的次要装置号码(minor device number of tty)
  • STAT :该形成的状态,Linux 的进程有5种状态:
    • D :不可中断 uninterruptible sleep(usually IO)
    • R :运行 runnable(on run queue)
    • S :中断 sleeping
    • T :停止 traced or stopped
    • Z :僵死 a defunct (“zombie”) process
    • 注:其他状态还包括 W(无驻留页),<(高优先级进程),N(低优先级进程),L(内存锁页)。
  • START :进程开始时间
  • TIME :执行的时间
  • COMMAND :所执行的指令

显示指定用户信息(例如 root 用户):

$ ps -u root

Leave a Reply