ps (1) - 报告当前进程的快照.
推荐:
[root@OS7 ~]# ps
[root@OS7 ~]# ps -ef
用法:
ps [options]
描述:
ps 显示有关所选活动进程的信息. 如果您想要重复更新选择和显示的信息, 请改用 top(1).
此版本的 ps 接受多种选项:
1 UNIX 选项, 可以分组并且必须以破折号开头.
2 BSD 选项, 可以分组并且不能与破折号一起使用.
3 GNU 长选项, 前面有两个破折号.
不同类型的选项可以自由混合, 但可能会出现冲突. 由于此 ps 兼容的许多标准和 ps 实现, 有一些同义选项在功能上是相同的.
请注意, "ps -aux"与"ps aux"不同. POSIX 和 UNIX 标准要求"ps -aux"打印名为"x"的用户拥有的所有进程, 以及打印由 -a 选项选择的所有进程. 如果名为"x"的用户不存在, 此 ps 可能会将命令解释为"ps aux"并打印警告. 此行为旨在帮助转换旧的脚本和习惯. 它是脆弱的, 可能会发生变化, 因此不应依赖它.
默认情况下, ps 选择与当前用户具有相同有效用户 ID(euid=EUID)并与调用者相同的终端关联的所有进程. 它显示进程 ID (pid=PID), 与进程关联的终端 (tname=TTY), [DD-]hh: mm: ss 格式的累积 CPU 时间 (time=TIME) 和可执行文件名称 (ucmd =CMD). 默认情况下输出未排序.
使用 BSD 样式的选项会将进程状态 (stat=STAT) 添加到默认显示中, 并显示命令 args (args=COMMAND) 而不是可执行文件名称. 您可以使用 PS_FORMAT 环境变量覆盖它. 使用 BSD 风格的选项也会改变进程选择, 以包括你拥有的其他终端 (TTY) 上的进程; 或者, 这可以描述为将选择设置为所有进程的集合, 这些进程被过滤以排除其他用户拥有的进程或不在终端上的进程. 当选项被描述为"完全相同"时, 这些效果并没有被考虑, 所以-M将被认为与Z相同.
除下文所述外, 过程选择选项是附加的. 丢弃默认选择, 然后将所选进程添加到要显示的进程集中. 因此, 如果过程满足任何给定的选择标准, 则将显示该过程.
选项:
简单的处理选择:
a 解除 BSD 风格的"只有你自己"限制, 当使用某些 BSD 风格(没有"-")选项或 ps 个性设置类似于 BSD 时, 该限制强加于所有进程的集合. 以这种方式选择的进程集是通过其他方式选择的进程集的补充. 另一种描述是这个选项导致 ps 列出所有带有终端 (tty) 的进程, 或者当与 x 选项一起使用时列出所有进程.
-A 选择所有进程. 与 -e 相同.
-a 选择除会话领导者(请参阅 getid(2))和与终端无关的进程之外的所有进程.
-d 选择除会话引导之外的所有进程.
--deselect 选择除满足指定条件的进程以外的所有进程(否定选择). 与 -N 相同.
-e 选择所有进程. 与 -A 相同.
g 理论上所有的, 甚至会话引导. 此标志已过时, 可能会在未来版本中停止使用. 它通常由 a 标志暗示, 并且仅在以 sunos4 特性操作时才有用.
-N 选择除满足指定条件的进程以外的所有进程(否定选择). 与 --deselect 相同.
-T 选择与此终端关联的所有进程. 与没有任何参数的 t 选项相同.
r 将选择限制为仅运行的进程.
x 解除 BSD 风格的"必须有一个 tty"限制, 当使用某些 BSD 风格(不带"-")选项或 ps 个性设置类似于 BSD 时, 该限制强加于所有进程的集合. 以这种方式选择的进程集是通过其他方式选择的进程集的补充. 另一种描述是该选项使 ps 列出您拥有的所有进程(与 ps 相同的 EUID), 或者在与 a 选项一起使用时列出所有进程.
按列表选择处理: (这些选项接受以空格分隔或逗号分隔的列表形式的单个参数. 它们可以多次使用. 例如: ps -p "1 2" -p 3, 4)
-123 与 --pid 123 相同.
123 与 --pid 123 相同.
-C cmdlist 按命令名称选择. 这将选择其可执行名称在 cmdlist 中给出的进程.
-G grplist 按实际组 ID (RGID) 或名称选择. 这将选择其真实组名或 ID 在 grplist 列表中的进程. 真实组 ID 标识创建进程的用户的组, 请参阅 getgid(2).
-g grplist 按会话或按有效组名选择. 许多标准都规定了按会话选择, 但按有效组选择是其他几个操作系统使用的逻辑行为. 当列表完全是数字(如会话)时, 此 ps 将按会话选择. 仅当还指定了某些组名时, 组 ID 号才有效. 请参阅 -s 和 --group 选项.
p pidlist 按进程 ID 选择. 与 -p 和 --pid 相同.
-p pidlist 按PID选择. 这将选择进程 ID 号出现在 pidlist 中的进程. 与 p 和 --pid 相同.
--pid pidlist 按进程 ID 选择. 与 -p 和 p 相同.
--ppid pidlist 按父进程 ID 选择. 这将选择 pidlist 中具有父进程 ID 的进程. 也就是说, 它选择属于 pidlist 中列出的进程的子进程.
q pidlist 按进程 ID 选择(快速模式). 与 -q 和 --quick-pid 相同.
-q pidlist 通过PID选择(快速模式). 这将选择进程 ID 号出现在 pidlist 中的进程. 使用此选项 ps 仅读取 pidlist 中列出的 pid 的必要信息, 而不应用其他过滤规则. pid 的顺序是未排序和保留的. 在此模式下不允许有额外的选择选项, 排序和森林类型列表. 与 q 和 --quick-pid 相同.
--quick-pid pidlist 按进程 ID 选择(快速模式). 与 -q 和 q 相同.
-s sesslist 按会话 ID 选择. 这将选择具有在 sesslist 中指定的会话 ID 的进程.
--sid sesslist 按会话 ID 选择. 与 -s 相同.
t ttylist 按 tty 选择. 几乎与 -t 和 --tty 相同, 但也可以与空 ttylist 一起使用以指示与 ps 关联的终端. 使用 T 选项被认为比使用带有空 ttylist 的 t 更干净.
-t ttylist 按 tty 选择. 这将选择与 ttylist 中给出的终端关联的进程. 终端(ttys 或用于文本输出的屏幕)可以以多种形式指定:/dev/ttyS1, ttyS1, S1. 普通的"-"可用于选择未连接到任何终端的进程.
--tty ttylist 通过终端选择. 与 -t 和 t 相同.
U userlist 按有效用户 ID (EUID) 或名称选择. 这将选择其有效用户名或 ID 在用户列表中的进程. 有效用户 ID 描述进程使用其文件访问权限的用户(请参阅 geteuid(2)). 与 -u 和 --user 相同.
-U userlist 按真实用户 ID (RUID) 或名称选择. 它选择真实用户名或 ID 在用户列表列表中的进程. 真实用户 ID 标识创建进程的用户, 请参阅 getuid(2).
--User userlist 按真实用户 ID (RUID) 或名称选择. 与 -U 相同.
--user userlist 按有效用户 ID (EUID) 或名称选择. 与 -u 和 U 相同.
输出格式控制: (这些选项用于选择ps显示的信息. 输出可能因个性而异. )
-c 显示 -l 选项的不同调度程序信息.
--context 显示安全上下文格式(适用于 SELinux).
-f 做全格式列表. 此选项可以与许多其他 UNIX 样式选项结合使用以添加其他列. 它还会导致打印命令参数. 与 -L 一起使用时, 将添加 NLWP(线程数)和 LWP(线程 ID)列. 请参阅 c 选项, 格式关键字 args 和格式关键字 comm.
-F 额外的完整格式. 请参阅 -f 选项, 其中 -F 表示.
--format format 用户定义的格式. 与 -o 和 o 相同.
j BSD 作业控制格式.
-j 作业格式.
l 显示 BSD 的完整格式.
-l 长格式. -y 选项通常对此很有用.
-M 添加一列安全数据. 与 Z 相同(对于 SELinux).
O format 预加载 o(过载). BSD O 选项可以像 -O(用户定义的输出格式, 带有一些预定义的公共字段)一样工作, 也可以用于指定排序顺序. 试探法用于确定此选项的行为. 为确保获得所需的行为(排序或格式化), 请以其他方式指定选项(例如使用 -O 或 --sort). 当用作格式化选项时, 它与 -O 相同, 具有 BSD 个性.
-O format 类似于 -o, 但预加载了一些默认列. 与 -o pid, format, state, tname, time, command 或 -o pid, format, tname, time, cmd 相同, 请参见下面的 -o.
-o format 用户定义的格式. format 是一个以空格分隔或逗号分隔的列表形式的单个参数, 它提供了一种指定各个输出列的方法. 识别的关键字在下面的标准格式说明部分中进行了描述. 标题可以根据需要重命名 (ps -o pid, ruser=RealUser -o comm=Command). 如果所有列标题都为空 (ps -o pid= -o comm=), 则不会输出标题行. 对于宽标题, 列宽将根据需要增加; 这可用于加宽列, 例如 WCHAN (ps -o pid, wchan=WIDE-WCHAN-COLUMN -o comm). 还提供显式宽度控制 (ps opid, wchan: 42, cmd). ps -o pid=X, comm=Y 的行为因人而异; 输出可能是名为"X, comm=Y"的一列或名为"X"和"Y"的两列. 如有疑问, 请使用多个 -o 选项. 使用 PS_FORMAT 环境变量根据需要指定默认值; DefSysV 和 DefBSD 是可用于选择默认 UNIX 或 BSD 列的宏.
s 显示信号格式.
u 显示面向用户的格式.
v 显示虚拟内存格式.
X 注册格式.
-y 不显示标志; 显示 rss 代替 addr. 此选项只能与 -l 一起使用.
Z 添加一列安全数据. 与 -M 相同(对于 SELinux).
输出修改器:
c 显示真正的命令名称. 这源自可执行文件的名称, 而不是源自 argv 值. 因此不会显示命令参数和对它们的任何修改. 此选项有效地将 args 格式关键字转换为 comm 格式关键字; 它对 -f 格式选项和各种 BSD 样式的格式选项很有用, 它们通常都显示命令参数. 请参阅 -f 选项, 格式关键字 args 和格式关键字 comm.
--cols n 设置屏幕宽度.
--columns n 设置屏幕宽度.
--cumulative 包括一些死的子进程数据(作为与父进程的总和).
e 在命令后显示环境.
f ASCII 艺术过程层次结构(森林).
--forest ASCII 艺术流程树.
h 没有标题. (或者, BSD 个性中的每个屏幕一个标题). h 选项有问题. 标准 BSD ps 使用此选项在输出的每一页上打印标题, 但较旧的 Linux ps 使用此选项完全禁用标题. 这个版本的 ps 遵循 Linux 的用法, 除非选择了 BSD 特性, 否则不打印标题, 在这种情况下, 它在输出的每一页上打印一个标题. 无论当前的个性如何, 您都可以使用长选项 --headers 和 --no-headers 分别启用每页打印标题或完全禁用标题.
-H 显示进程层次结构(林).
--headers 重复标题行, 每页输出一个.
k spec 指定排序顺序. 排序语法是 [+|-]key[, [+|-]key[, ...]]. 从 STANDARD FORMAT SPECIFIERS 部分选择一个多字母键. "+"是可选的, 因为默认方向是增加数字或字典顺序. 与 --sort 相同.
--lines n 设置屏幕高度.
-n namelist 设置名单文件. 与 N 相同. 正确的 WCHAN 显示需要名称列表文件, 并且必须与当前的 Linux 内核完全匹配才能正确输出. 如果没有此选项, 名称列表的默认搜索路径为:
n WCHAN 和 USER 的数字输出(包括所有类型的 UID 和 GID).
N namelist 指定名单文件. 与 -n 相同, 请参见上面的 -n.
--no-headers 根本不打印标题行. --no-heading 是此选项的别名.
O order 排序顺序(重载). BSD O 选项可以像 -O(用户定义的输出格式, 带有一些预定义的公共字段)一样工作, 也可以用于指定排序顺序. 试探法用于确定此选项的行为. 为确保获得所需的行为(排序或格式化), 请以其他方式指定选项(例如使用 -O 或 --sort).
对于排序, 过时的 BSD O 选项语法是 O[+|-]k1[, [+|-]k2[, ...]]. 它根据由单字母短键 k1, k2, ... 的序列指定的多级排序对进程列表进行排序, 如下面过时排序键部分所述. "+"目前是可选的, 只是重新迭代键的默认方向, 但可能有助于区分 O 排序和 O 格式. "-"只在它前面的键上反转方向.
--rows n 设置屏幕高度.
S 总结一些信息, 例如 CPU 使用率, 从死子进程到它们的父进程. 这对于检查父进程反复分叉短期子进程来完成工作的系统很有用.
--sort spec 指定排序顺序. 排序语法是 [+|-]key[, [+|-]key[, ...]]. 从 STANDARD FORMAT SPECIFIERS 部分选择一个多字母键. "+"是可选的, 因为默认方向是增加数字或字典顺序. 与 k 相同. 例如: ps jax --sort=uid, -ppid, +pid
w 宽输出. 使用此选项两次以获得无限宽度.
-w 宽输出. 使用此选项两次以获得无限宽度.
--width n 设置屏幕宽度.
线程显示:
H 将线程显示为进程.
-L 显示线程, 可能带有 LWP 和 NLWP 列.
m 在进程之后显示线程.
-m 在进程之后显示线程.
-T 显示线程, 可能带有 SPID 列.
其他选项:
--help section 打印帮助信息. section 参数可以是 simple, list, output, threads, misc 或 all 之一. 参数可以缩短为带下划线的字母之一, 如: s|l|o|t|m|a.
--info 打印调试信息.
-L 列出所有格式说明符.
V 打印 procps-ng 版本.
-V 打印 procps-ng 版本.
--version 打印 procps-ng 版本.
注意:
这个 ps 通过读取 /proc 中的虚拟文件来工作. 这个ps不需要setuid kmem或者有任何权限就可以运行. 不要给这个 ps 任何特殊权限.
此 ps 需要访问名称列表数据才能正确显示 WCHAN. 对于 2.6 之前的内核, 必须安装 System.map 文件.
CPU 使用率目前表示为在进程的整个生命周期内运行所花费的时间百分比. 这并不理想, 也不符合 ps 在其他方面符合的标准. CPU 使用率加起来不太可能正好是 100%.
SIZE 和 RSS 字段不计算进程的某些部分, 包括页表, 内核堆栈, struct thread_info 和 struct task_struct. 这通常是至少 20 KiB 的始终常驻内存. SIZE 是进程的虚拟大小(代码+数据+堆栈).
标记为 的进程是死进程(所谓的"僵尸"), 因为它们的父进程没有正确销毁它们而仍然存在. 如果父进程退出, 这些进程将被 init(8) 销毁.
如果用户名的长度大于显示列的长度, 则显示数字用户 ID.
不建议使用诸如 ps -aux 之类的命令选项, 因为它混淆了两种不同的标准. 根据 POSIX 和 UNIX 标准, 上述命令要求显示所有带有 TTY 的进程(通常是用户正在运行的命令)以及名为"x"的用户拥有的所有进程. 如果该用户不存在, 那么 ps 会假设您的意思是"ps aux".
进程标志:
这些值的总和显示在"F"列中, 该列由标志输出说明符提供:
1 分叉但没有执行
4 使用超级用户权限
过程状态代码:
以下是 s, stat 和 state 输出说明符(标头"STAT"或"S")将显示的不同值来描述进程的状态:
D 不间断睡眠(通常是IO)
R 正在运行或可运行(在运行队列上)
S 可中断睡眠(等待事件完成)
T 由作业控制信号停止
t 在跟踪期间被调试器停止
W 分页(自 2.6.xx 内核起无效)
X 死了(不应该被看到)
Z 已失效("僵尸")进程, 终止但未由其父进程收割
对于 BSD 格式, 当使用 stat 关键字时, 可能会显示额外的字符:
< 高优先级(对其他用户不好)
N 低优先级(对其他用户好)
L 将页面锁定到内存中(用于实时和自定义 IO)
s 是会话负责人
l 是多线程的(使用 CLONE_THREAD, 就像 NPTL pthread 那样)
+ 在前台进程组中
过时的排序键:
这些键由 BSD O 选项使用(当它用于排序时). GNU --sort 选项不使用这些键, 而是使用下面标准格式说明符部分中描述的说明符. 请注意, 排序中使用的值是 ps 使用的内部值, 而不是某些输出格式字段中使用的"cooked"值(例如, 在 tty 上排序将排序为设备编号, 而不是根据显示的终端名称). 如果要对熟值进行排序, 请将 ps 输出通过管道传输到 sort(1) 命令中.
KEY LONG DESCRIPTION
c cmd 可执行文件的简单名称
C pcpu cpu利用率
f flags 长格式 F 字段中的标志
g pgrp 进程组标识
G tpgid 控制 tty 进程组 ID
j cutime 累计用户时间
J cstime 累计系统时间
k utime 用户时间
m min_flt 次要页面错误的数量
M maj_flt 主要页面错误的数量
n cmin_flt 累积次要页面错误
N cmaj_flt 累积主要页面错误
o session 会话标识
p pid 进程标识
P ppid 父进程 ID
r rss 常驻集大小
R resident 常驻页面
s size 以千字节为单位的内存大小
S share 共享页面数量
t tty 控制tty的设备号
T start_time 时间过程开始
U uid 用户标识号
u user 用户名
v vsize 以 KiB 为单位的总 VM 大小
y priority 内核调度优先级
AIX 格式描述符:
此 ps 支持 AIX 格式描述符, 其工作方式有点类似于 printf(1) 和 printf(3) 的格式化代码. 例如, 可以使用以下命令生成正常的默认输出: ps -eo "%p %y %x %c". 下一节将介绍 NORMAL 代码.
CODE NORMAL HEADER
%C pcpu %CPU
%G group GROUP
%P ppid PPID
%U user USER
%a args COMMAND
%c comm COMMAND
%g rgroup RGROUP
%n nice NI
%p pid PID
%r pgid PGID
%t etime ELAPSED
%u ruser RUSER
%x time TIME
%y tty TTY
%z vsz VSZ
标准格式说明符:
以下是可用于控制输出格式(例如, 使用选项 -o)或使用 GNU 风格的 --sort 选项对所选进程进行排序的不同关键字.
例如: ps -eo pid, user, args --sort user
此版本的 ps 尝试识别 ps 的其他实现中使用的大多数关键字.
以下用户定义的格式说明符可能包含空格: args, cmd, comm, command, fname, ucmd, ucomm, lstart, bsdstart, start.
某些关键字可能无法用于排序.
CODE HEADER DESCRIPTION
%cpu %CPU "##. #"格式的进程cpu利用率. 目前, 它是使用的 CPU 时间除以进程运行的时间(CPU 时间/实时比率), 以百分比表示. 除非你很幸运, 否则它不会增加到 100%. (别名 pcpu).
%mem %MEM 进程的驻留集大小与机器上物理内存的比率, 以百分比表示. (别名 pmem).
args COMMAND 命令及其所有参数作为字符串. 可以显示对参数的修改. 此列中的输出可能包含空格. 标记为 的进程部分死亡, 等待被其父进程完全销毁. 有时进程参数将不可用; 发生这种情况时, ps 将改为在括号中打印可执行文件名称. (别名 cmd, 命令). 另请参阅 comm 格式关键字, -f 选项和 c 选项. 最后指定时, 此列将延伸到显示的边缘. 如果 ps 无法确定显示宽度, 如将输出重定向(管道)到文件或其他命令中时, 输出宽度是未定义的(可能是 80, 无限制, 由 TERM 变量确定, 等等). 在这种情况下, COLUMNS 环境变量或 --cols 选项可用于精确确定宽度. w 或 -w 选项也可用于调整宽度.
blocked BLOCKED 阻塞信号的掩码, 请参阅信号(7). 根据字段的宽度, 显示十六进制格式的 32 位或 64 位掩码. (别名 sig_block, sigmask).
bsdtime START 命令开始的时间. 如果进程是在不到 24 小时前开始的, 则输出格式为"HH: MM", 否则为"Mmm: SS"(其中 Mmm 是月份的三个字母). 另请参见 lstart, start, start_time 和 stime.
c C 处理器利用率. 目前, 这是进程生命周期内使用百分比的整数值. (见%cpu).
caught CAUGHT 捕获信号的掩码, 请参阅signal(7). 根据字段的宽度, 显示十六进制格式的 32 位或 64 位掩码. (别名 sig_catch, sigcatch).
cgroup CGROUP 显示进程所属的控制组.
class CLS 进程的调度类. (别名政策, cls). 字段的可能值是:
- not reported
TS SCHED_OTHER
FF SCHED_FIFO
RR SCHED_RR
B SCHED_BATCH
ISO SCHED_ISO
IDL SCHED_IDLE
DLN SCHED_DEADLINE
? unknown value
cls CLS 进程的调度类. (别名政策, cls). 字段的可能值是:
- not reported
TS SCHED_OTHER
FF SCHED_FIFO
RR SCHED_RR
B SCHED_BATCH
ISO SCHED_ISO
IDL SCHED_IDLE
DLN SCHED_DEADLINE
? unknown value
cmd CMD 见参数. (别名 args, 命令).
comm COMMAND 命令名称(仅可执行名称). 不会显示对命令名称的修改. 标记为 的进程部分死亡, 等待被其父进程完全销毁. 此列中的输出可能包含空格. (别名 ucmd, ucomm). 另请参阅 args 格式关键字, -f 选项和 c 选项.
最后指定时, 此列将延伸到显示的边缘. 如果 ps 无法确定显示宽度, 如将输出重定向(管道)到文件或其他命令中时, 输出宽度是未定义的(可能是 80, 无限制, 由 TERM 变量确定, 等等). 在这种情况下, COLUMNS 环境变量或 --cols 选项可用于精确确定宽度. w 或 -w 选项也可用于调整宽度.
command COMMAND 参见参数. (别名 args, 命令).
cp CP 每毫秒(十分之一)CPU 使用率. (见%cpu).
cputime TIME 累积 CPU 时间, "[DD-]hh: mm: ss"格式. (别名时间).
drs DRS 数据驻留集大小, 专用于可执行代码以外的物理内存量.
egid EGID 进程的有效组 ID 号, 为十进制整数. (别名 gid).
egroup EGROUP 进程的有效组 ID.这将是文本组 ID(如果可以获取并且字段宽度允许)或十进制表示形式. (别名组).
eip EIP 指令指针.
esp ESP 堆栈指针.
etime ELAPSED 自进程启动以来经过的时间, 格式为 [[DD-]hh: ]mm: ss.
etimes ELAPSED 自进程启动以来经过的时间, 以秒为单位.
euid EUID 有效用户 ID(别名 uid).
euser EUSER 有效用户名. 这将是文本用户 ID(如果可以获取并且字段宽度允许)或十进制表示形式. n 选项可用于强制十进制表示. (别名 uname, 用户).
f F 与进程相关的标志, 请参阅进程标志部分. (别名标志, 标志).
fgid FGID 文件系统访问组 ID. (别名 fsgid).
fgroup FGROUP 文件系统访问组 ID.这将是文本组 ID(如果可以获取并且字段宽度允许)或十进制表示形式. (别名 fsgroup).
flag F 见 f. (别名 f, 标志).
flags F 见 f. (别名 f, 标志).
fname COMMAND 进程的可执行文件的基本名称的前 8 个字节. 此列中的输出可能包含空格.
fuid FUID 文件系统访问用户 ID. (别名 fsuid).
fuser FUSER 文件系统访问用户 ID.这将是文本用户 ID(如果可以获取并且字段宽度允许)或十进制表示形式.
gid GID 见egid. (别名 egid).
group GROUP 见egroup. (别名 egroup).
ignored IGNORED 被忽略信号的掩码, 请参阅signal(7). 根据字段的宽度, 显示十六进制格式的 32 位或 64 位掩码. (别名 sig_ignore, sigignore).
ipcns IPCNS 描述进程所属命名空间的唯一 inode 编号. 请参阅命名空间(7).
label LABEL 安全标签, 最常用于 SELinux 上下文数据. 这是针对高安全性系统上的强制访问控制("MAC").
lstart STARTED 命令开始的时间. 另请参见 bsdstart, start, start_time 和 stime.
lsession SESSION 如果包含 systemd 支持, 则显示进程的登录会话标识符.
luid LUID 显示与进程关联的登录 ID.
lwp LWP 可调度实体的轻量级进程(线程)ID(别名 spid, tid). 有关其他信息, 请参阅 tid.
machine MACHINE 如果包含 systemd 支持, 则显示分配给 VM 或容器的进程的机器名称.
maj_flt MAJFLT 此进程发生的主要页面错误的数量.
min_flt MINFLT 此进程发生的次要页面错误的数量.
mntns MNTNS 描述进程所属命名空间的唯一 inode 编号. 请参阅命名空间(7).
netns NETNS 描述进程所属命名空间的唯一 inode 编号. 请参阅命名空间(7).
ni NI 不错的价值. 这范围从 19(最好)到 -20(对其他人不好), 请参阅 nice(1). (别名不错).
nice NI 见ni.(别名ni).
nlwp NLWP 进程中的 lwps(线程)数. (别名 thcount).
nwchan WCHAN 进程正在休眠的内核函数的地址(如果需要内核函数名称, 请使用 wchan). 正在运行的任务将在此列中显示破折号 ('-').
ouid OWNER 如果包含 systemd 支持, 则显示进程会话所有者的 Unix 用户标识符.
pcpu %CPU 见%cpu. (别名 %cpu).
pending PENDING 待处理信号的掩码. 见信号(7). 进程上挂起的信号不同于单个线程上挂起的信号. 使用 m 选项或 -m 选项查看两者. 根据字段的宽度, 显示十六进制格式的 32 位或 64 位掩码. (别名 sig).
pgid PGID 进程组 ID 或等效的进程组领导的进程 ID. (别名 pgrp).
pgrp PGRP 见 pgid. (别名 pgid).
pid PID 一个代表进程 ID 的数字(别名 tgid).
pidns PIDNS 描述进程所属命名空间的唯一 inode 编号. 请参阅命名空间(7).
pmem %MEM 见%mem. (别名 %mem).
policy POL 进程的调度类. (别名类, cls). 可能的值为:
- not reported
TS SCHED_OTHER
FF SCHED_FIFO
RR SCHED_RR
B SCHED_BATCH
ISO SCHED_ISO
IDL SCHED_IDLE
DLN SCHED_DEADLINE
? unknown value
ppid PPID 父进程 ID.
pri PRI 进程的优先级. 数字越大意味着优先级越低.
psr PSR 该进程当前分配给的处理器.
rgid RGID 真实的组ID.
rgroup RGROUP 真正的组名. 这将是文本组 ID(如果可以获取并且字段宽度允许)或十进制表示形式.
rss RSS 常驻集大小, 任务已使用的非交换物理内存(以千字节为单位). (别名 rssize, rsz).
rssize RSS 见rss. (别名 rss, rsz).
rsz RSZ 见rss. (别名 rss, rssize).
rtprio RTPRIO 实时优先.
ruid RUID 真实用户ID.
ruser RUSER 真实用户ID.这将是文本用户 ID(如果可以获取并且字段宽度允许)或十进制表示形式.
s S 最小状态显示(一个字符). 有关不同的值, 请参阅过程状态代码部分. 如果您想显示其他信息, 另请参阅 stat. (别名状态).
sched SCH 进程的调度策略. 策略SCHED_OTHER (SCHED_NORMAL), SCHED_FIFO, SCHED_RR, SCHED_BATCH, SCHED_ISO, SCHED_IDLE和SCHED_DEADLINE分别显示为0, 1, 2, 3, 4, 5和6.
seat SEAT 如果包含 systemd 支持, 则显示与分配给特定工作场所的所有硬件设备关联的标识符.
sess SESS 会话 ID 或等效的会话领导者的进程 ID. (别名会话, sid).
sgi_p P 进程当前正在执行的处理器. 如果进程当前未运行或不可运行, 则显示"*".
sgid SGID 保存的组 ID. (别名 svgid).
sgroup SGROUP 保存的组名. 这将是文本组 ID(如果可以获取并且字段宽度允许)或十进制表示形式.
sid SID 见 ses. (别名 sess, 会话).
sig PENDING 见待定. (别名待定, sig_pend).
sigcatch CAUGHT 看到抓住了. (别名被捕获, sig_catch).
sigignore IGNORED 见忽略. (忽略别名, sig_ignore).
sigmask BLOCKED 看到被屏蔽了. (别名被阻止, sig_block).
size SIZE 如果进程要弄脏所有可写页面然后被换出, 大约需要的交换空间量. 这个数字很粗糙!
slice SLICE 如果包含 systemd 支持, 则显示进程所属的切片单元.
spid SPID 见 lwp. (别名 lwp, tid).
stackp STACKP 进程堆栈底部(开始)的地址.
start STARTED 命令开始的时间. 如果进程是在不到 24 小时前启动的, 则输出格式为"HH: MM: SS", 否则为"Mmm dd"(其中 Mmm 是三个字母的月份名称). 另请参见 lstart, bsdstart, start_time 和 stime.
start_time START 过程的开始时间或日期. 如果进程不是在调用 ps 的同一年启动, 则仅显示年份, 如果不是在同一天启动, 则显示"MmmDD", 否则显示"HH: MM". 另请参见 bsdstart, start, lstart 和 stime.
stat STAT 多字符进程状态. 有关不同值的含义, 请参阅过程状态代码部分. 如果您只想显示第一个字符, 另请参阅 s 和 state.
state S 见 s. (别名 s).
suid SUID 保存的用户 ID. (别名 svuid).
supgid SUPGID 补充组的组 ID, 如果有的话. 请参阅 getgroups(2).
supgrp SUPGRP 补充组的组名, 如果有的话. 请参阅 getgroups(2).
suser SUSER 保存的用户名. 这将是文本用户 ID(如果可以获取并且字段宽度允许)或十进制表示形式. (别名 svuser).
svgid SVGID 见 sgid. (别名 sgid).
svuid SVUID 见suid. (别名 suid).
sz SZ 进程核心映像的物理页大小. 这包括文本, 数据和堆栈空间. 当前排除设备映射; 这可能会发生变化. 参见 vsz 和 rss.
tgid TGID 一个代表任务所属线程组的数字(别名 pid). 它是线程组领导的进程 ID.
thcgr THCGR 显示线程所属的控制组.
thcount THCNT 见 nlwp. (别名 nlwp). 进程拥有的内核线程数.
tid TID 代表可调度实体的唯一编号(别名 lwp, spid). 该值也可能显示为: 进程 ID (pid); 进程组 ID (pgrp); 会话领导者的会话 ID(sid); 线程组领导者的线程组 ID (tgid); 以及进程组领导 (tpgid) 的 tty 进程组 ID.
time TIME CPU 累计时间, "[DD-]HH: MM: SS"格式. (别名 cputime).
tname TTY 控制 tty(终端). (别名 tt, tty).
tpgid TPGID 进程连接到的 tty(终端)上的前台进程组的 ID, 如果进程未连接到 tty, 则为 -1.
trs TRS 文本驻留集大小, 专用于可执行代码的物理内存量.
tt TT 控制 tty(终端). (别名 tname, tty).
tty TT 控制 tty(终端). (别名 tname, tt).
ucmd CMD 见通讯. (别名 comm, ucomm).
ucomm COMMAND 见通讯. (别名 comm, ucmd).
uid UID 见euid. (别名 euid).
uname USER 见优客. (别名 euser, 用户).
unit UNIT 如果已包含 systemd 支持, 则显示进程所属的单元.
user USER 见优客. (别名 euser, uname).
userns USERNS 描述进程所属命名空间的唯一 inode 编号. 请参阅命名空间(7).
utsns UTSNS 描述进程所属命名空间的唯一 inode 编号. 请参阅命名空间(7).
uunit UUNIT 如果已包含 systemd 支持, 则显示进程所属的用户单元.
vsize VSZ 见vsz. (别名 vsz).
vsz VSZ 进程的虚拟内存大小, 以 KiB(1024 字节为单位). 当前排除设备映射; 这可能会发生变化. (别名 vsize).
wchan WCHAN 进程在其中休眠的内核函数的名称, 如果进程正在运行, 则为"-", 如果进程是多线程且 ps 未显示线程, 则为"*".
环境变量:
以下环境变量可能会影响 ps:
COLUMNS 覆盖默认显示宽度.
LINES 覆盖默认显示高度.
PS_PERSONALITY 设置为 posix, old, linux, bsd, sun, digital...之一(请参阅下面的"个性"部分).
CMD_ENV 设置为 posix, old, linux, bsd, sun, digital...之一(请参阅下面的"个性"部分).
I_WANT_A_BROKEN_PS 强制过时的命令行解释.
LC_TIME 日期格式.
PS_COLORS 目前不支持.
PS_FORMAT 默认输出格式覆盖. 您可以将其设置为用于 -o 选项的类型的格式字符串. DefSysV 和 DefBSD 值特别有用.
PS_SYSMAP 默认名称列表 (System.map) 位置.
PS_SYSTEM_MAP 默认名称列表 (System.map) 位置.
POSIXLY_CORRECT 不要找借口忽略不好的"功能".
POSIX2 当设置为"on"时, 充当 POSIXLY_CORRECT.
UNIX95 不要找借口忽略不好的"功能".
_XPG 取消 CMD_ENV=irix 非标准行为.
一般来说, 设置这些变量是一个坏主意. 一个例外是 CMD_ENV 或 PS_PERSONALITY, 对于普通系统, 可以将其设置为 Linux. 如果没有该设置, ps 将遵循 Unix98 标准中无用和坏的部分.
特性:
390 像 OS/390 OpenEdition ps
aix 像 AIX ps
bsd 像 FreeBSD ps(完全非标准)
compaq 像数字 Unix ps
debian 像旧的 Debian ps
digital 像 Tru64(是 Digital Unix, 是 OSF/1)ps
gnu 像旧的 Debian ps
hp 像 HP-UX ps
hpux 像 HP-UX ps
irix 像 Irix ps
linux ***** 受到推崇的 *****
old 像原来的Linux ps(完全非标准)
os390 像 OS/390 开放版 ps
posix 标准
s390 像 OS/390 开放版 ps
sco 像 SCO ps
sgi 像 Irix ps
solaris2 像 Solaris 2+ (SunOS 5) ps
sunos4 像 SunOS 4 (Solaris 1) ps(完全非标准)
svr4 标准
sysv 标准
tru64 像 Tru64(是 Digital Unix, 是 OSF/1)ps
unix 标准
unix95 标准
unix98 标准
另请参阅:
pgrep(1), pstree(1), top(1), proc(5).
标准:
这个ps符合:
1 单一 Unix 规范的第 2 版
2 The Open Group 技术标准基本规范, 第 6 期
3 IEEE 标准 1003.1, 2004 年版
4 X/Open 系统接口扩展 [UP XSI]
5 ISO/IEC 9945: 2003