名称

podman-top - 显示容器的正在运行的进程

概要

podman top [选项] 容器 [格式描述符]

podman container top [选项] 容器 [格式描述符]

描述

显示容器的正在运行的进程。格式描述符 与 ps (1) 兼容的 AIX 格式描述符,但扩展为打印其他信息,例如给定进程的 seccomp 模式或有效功能。描述符可以作为单独的参数或作为单个用逗号分隔的参数传递。请注意,ps(1) 的选项或标志也可以指定;在这种情况下,Podman 会回退到在容器命名空间中使用指定的参数和标志从主机执行 ps(1)。如果容器具有 CAP_SYS_PTRACE 功能,那么我们将在容器中执行 ps(1),因此它必须安装在那里。要提取与主机相关的信息,请使用“h*”描述符。例如,podman top $name hpid huser 用于显示主机上下文中进程的 PID 和用户。

选项

--help, -h

打印使用说明

--latest, -l

不提供容器名称或 ID,使用最后创建的容器。注意:最后一个启动的容器可能来自主机上其他 Podman 用户。 (此选项不适用于远程 Podman 客户端,包括 Mac 和 Windows(不包括 WSL2)机器)

格式描述符

除了 ps (1) 中提到的 AIX 格式描述符之外,还支持以下描述符

args, capbnd, capeff, capinh, capprm, comm, etime, group, hgroup, hpid, huser, label, nice, pcpu, pgid, pid, ppid, rgroup, ruser, seccomp, state, time, tty, user, vsz

capbnd

绑定功能集。有关更多信息,请参见 capabilities (7)。

capeff

有效功能集。有关更多信息,请参见 capabilities (7)。

capinh

可继承的功能集。有关更多信息,请参见 capabilities (7)。

capprm

允许的功能集。有关更多信息,请参见 capabilities (7)。

hgroup

容器进程在主机上的相应有效组。

hpid

容器进程的相应主机 PID。

huser

容器进程在主机上的相应有效用户。

label

进程的当前安全属性。

seccomp

进程的 Seccomp 模式(例如,禁用、严格或过滤器)。有关更多信息,请参见 seccomp (2)。

state

进程状态代码(例如,R 表示正在运行S 表示休眠)。有关更多信息,请参见 proc(5)。

stime

进程启动时间(例如,“2019-12-09 10:50:36 +0100 CET”。

示例

默认情况下,podman-top 打印类似于 ps -ef 的数据。

$ podman top f5a62a71b07
USER   PID   PPID   %CPU    ELAPSED         TTY     TIME   COMMAND
root   1     0      0.000   20.386825206s   pts/0   0s     sh
root   7     1      0.000   16.386882887s   pts/0   0s     sleep
root   8     1      0.000   11.386886562s   pts/0   0s     vi

可以通过在容器之后指定格式描述符作为参数来控制输出。

$ podman top -l pid seccomp args %C
PID   SECCOMP   COMMAND     %CPU
1     filter    sh          0.000
8     filter    vi /etc/    0.000

如果指定了未知描述符,Podman 将回退到在容器命名空间中从主机执行 ps(1)。

$ podman top -l -- aux
USER   PID   PPID   %CPU    ELAPSED             TTY   TIME   COMMAND
root   1     0      0.000   1h2m12.497061672s   ?     0s     sleep 100000

另请参见

podman(1), ps(1), seccomp(2), proc(5), capabilities(7)

历史

2018 年 7 月,由 Valentin Rothberg 引入格式描述符 vrothberg@suse.com

2017 年 12 月,最初由 Brent Baude 编译 bbaude@redhat.com