名称¶
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