summaryrefslogtreecommitdiff
path: root/completions/bash/podman
diff options
context:
space:
mode:
authorValentin Rothberg <vrothberg@suse.com>2018-07-19 14:41:58 +0200
committerAtomic Bot <atomic-devel@projectatomic.io>2018-07-19 20:47:52 +0000
commitba1871dac033783ab0329c9b3c9113a34a90992f (patch)
treef0be2944ff09d857306ea42864c7b24ae86ae9bd /completions/bash/podman
parent98703eb204923f06555605c648fc165a55214520 (diff)
downloadpodman-ba1871dac033783ab0329c9b3c9113a34a90992f.tar.gz
podman-ba1871dac033783ab0329c9b3c9113a34a90992f.tar.bz2
podman-ba1871dac033783ab0329c9b3c9113a34a90992f.zip
podman-top: use containers/psgo
Use github.com/containers/psgo instead of execing `ps (1)`. The psgo library enables a much more flexible interface with respect to which data to be printed (e.g., capabilities, seccomp mode, PID, PCPU, etc.) while the output can be parsed reliably. The library does not use ps (1) but parses /proc and /dev instead. To list the processes of a given container, psgo will join the mount namespace of the given container and extract all data from there. Notice that this commit breaks compatibility with docker-top. Signed-off-by: Valentin Rothberg <vrothberg@suse.com> Closes: #1113 Approved by: rhatdan
Diffstat (limited to 'completions/bash/podman')
-rw-r--r--completions/bash/podman16
1 files changed, 16 insertions, 0 deletions
diff --git a/completions/bash/podman b/completions/bash/podman
index b01a30aaa..424370904 100644
--- a/completions/bash/podman
+++ b/completions/bash/podman
@@ -1809,6 +1809,14 @@ _podman_tag() {
esac
}
+__podman_top_descriptors() {
+ podman top --list-descriptors
+}
+
+__podman_complete_top_descriptors() {
+ COMPREPLY=($(compgen -W "$(__podman_top_descriptors)" -- "$cur"))
+}
+
_podman_top() {
local options_with_args="
"
@@ -1818,6 +1826,14 @@ _podman_top() {
--latest
-l
"
+
+ # podman-top works on only *one* container, which means that when we have
+ # three or more arguments, we can complete with top descriptors.
+ if [[ "${COMP_CWORD}" -ge 3 ]]; then
+ __podman_complete_top_descriptors
+ return
+ fi
+
case "$cur" in
-*)
COMPREPLY=($(compgen -W "$boolean_options $options_with_args" -- "$cur"))