名称¶
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 首次编写