Skip to content

ps 进程状态

字数
881 字
阅读时间
5 分钟

说明

process status,进程状态的含义,使用这个命令可以显示当前进程的状态,类似于 windows 的任务管理器中「程序」列表。

语法

shell
ps [参数] [--help]

示例

如果不加参数直接执行 ps,会得到当前会话中的进程信息

shell
$ ps
    PID TTY          TIME CMD
  28615 pts/0    00:00:02 zsh # zsh 是我们的命令行 shell 程序
  35019 pts/0    00:00:00 ps # ps 是我们刚刚执行的这个命令的程序

ps 会有每一个单独的列字段去描述每一个列所代表的信息:

shell
$ ps -aux
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.2 183848 11392 ?        Ss   10月03   0:06 /usr/lib/systemd/systemd --switched-root --system --deserialize 18
root           2  0.0  0.0      0     0 ?        S    10月03   0:00 [kthreadd]
root           3  0.0  0.0      0     0 ?        I<   10月03   0:00 [rcu_gp]
root           4  0.0  0.0      0     0 ?        I<   10月03   0:00 [rcu_par_gp]
root         650  0.0  0.1  50252  5400 ?        Ss   10月03   0:00 /usr/sbin/smartd -n -q never
polkitd      652  0.0  0.5 1630220 24048 ?       Ssl  10月03   0:01 /usr/lib/polkit-1/polkitd --no-debug
root         653  0.0  0.1 124896  4784 ?        Ssl  10月03   0:12 /usr/sbin/irqbalance --foreground
dbus         655  0.0  0.1  56400  5296 ?        Ss   10月03   0:03 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
root         656  1.4  0.5 392512 20572 ?        Ssl  10月03 161:43 /usr/sbin/NetworkManager --no-daemon
root         657  0.0  0.3 219308 14080 ?        Ss   10月03   0:00 /usr/sbin/sssd -i --logger=files
libstor+     658  0.0  0.0  19740  2004 ?        Ss   10月03   0:01 /usr/bin/lsmd -d
root         665  0.0  0.1  69184  5616 ?        Ss   10月03   0:00 /usr/bin/qemu-ga --method=virtio-serial --path=/dev/virtio-ports/org.qemu.guest_agent.0 --blacklist=guest-file-open,guest-file-close,guest-file-read,guest-file-write,guest-file-seek,
chrony       671  0.0  0.0 128772  3512 ?        S    10月03   0:00 /usr/sbin/chronyd
rngd         674  0.0  0.1 233876  6756 ?        Ssl  10月03   0:11 /usr/sbin/rngd -f --fill-watermark=0
root         683  0.0  0.9 1174540 40004 ?       Ssl  10月03   2:48 /usr/local/bin/gateway-proxy
root         684  0.0  1.2 838016 50212 ?        Ssl  10月03   0:00 node /usr/bin/serve -s /opt/ayaka/sso-admin/dist -l 3100
root         687  0.0  0.1  92320  7560 ?        Ss   10月03   0:05 /usr/sbin/sshd -D [email protected],[email protected],aes256-ctr,aes256-cbc,[email protected],aes128-ctr,aes128-cbc [email protected]
USER 行程拥有者PID 进程 ID%CPU CPU 占用率%MEM 内存占用率VSZ 虚拟内存占用大小RSS 物理内存占用大小TTY 终端的次要装置号码STAT 该进程状态START 开始时间TIME 运行时间COMMAND 执行的命令
root10.00.218384811392?Ss10月030:06/usr/lib/systemd/systemd --switched-root --system --deserialize 18

其中 STAT(进程状态)字段还包含了以下的不同含义:

字段值含义
D无法中断的休眠状态(通常是 IO 进程)
R正在执行中
S静止状态
s进程的领导者(在它之下有子进程)
T暂停执行
Z不存在但暂时无法消除
W没有足够的记忆体分页可分配
<高优先序的行程
N低优先序的行程
L有内存分页分配并锁在内存内(实时系统)
l(小写 L)多线程,克隆线程(使用 CLONE_THREAD, 类似 NPTL pthreads)
+正在背景运行的进程

参数

列出所有进程 - 参数 A

其他参数

参数说明
-e显示所有进程、环境变量
-f全格式
-h不显示表头
-l(小写 L)长格式
-w宽输出
-a显示终端上所有进程,包括其他用户的进程
-r只显示正在运行的进程
-x显示没有控制终端的进程
-u以用户为主的格式来显示程序状态
-au显示较详细的咨询
-aux显示所有包含其他使用者的进程
-C列出命令的状况
--lines每页显示行数
--width每页显示字符数

贡献者

文件历史

撰写