Linux ps命令

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

语法

ps [options] [--help]

参数

  • ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义
  • -A 列出所有的行程
  • -w 显示加宽可以显示较多的资讯
  • -au 显示较详细的资讯
  • -aux 显示所有包含其他使用者的行程
  • au(x) 输出格式 :
  • USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
  • USER: 行程拥有者
  • PID: pid
  • %CPU: 占用的 CPU 使用率
  • %MEM: 占用的记忆体使用率
  • VSZ: 占用的虚拟记忆体大小
  • RSS: 占用的记忆体大小
  • TTY: 终端的次要装置号码 (minor device number of tty)
  • STAT: 该行程的状态:
  • D: 无法中断的休眠状态 (通常 IO 的进程)
  • R: 正在执行中
  • S: 静止状态
  • T: 暂停执行
  • Z: 不存在但暂时无法消除
  • W: 没有足够的记忆体分页可分配
  • <: 高优先序的行程
  • N: 低优先序的行程
  • L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
  • START: 行程开始时间
  • TIME: 执行的时间
  • COMMAND:所执行的指令

实例

# ps -A
  PID TTY          TIME CMD
    1 ?        00:17:54 systemd
    2 ?        00:00:30 kthreadd
    4 ?        00:00:00 kworker/0:0H
    6 ?        00:06:27 ksoftirqd/0
...

显示指定用户信息

# ps -u root
  PID TTY          TIME CMD
    1 ?        00:17:54 systemd
    2 ?        00:00:30 kthreadd
    4 ?        00:00:00 kworker/0:0H
...

显示所有进程信息,连同命令行

# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 4月13 ?       00:17:54 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root         2     0  0 4月13 ?       00:00:30 [kthreadd]
root         4     2  0 4月13 ?       00:00:00 [kworker/0:0H]
root         6     2  0 4月13 ?       00:06:27 [ksoftirqd/0]
...