名称

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, groups, hgroup, hgroups, 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)。

group

进程的有效组。

groups

进程的补充组。

hgroup

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

hgroups

容器进程在主机上的相应补充组。

hpid

容器进程的相应主机 PID。

huser

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

label

进程的当前安全属性。

seccomp

进程的 Seccomp 模式(即,disabled、strict 或 filter)。有关更多信息,请参阅 seccomp (2)。

state

进程状态代码(例如,**R** 表示 *running*,**S** 表示 *sleeping*)。有关更多信息,请参阅 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 首次编写