在基于ubuntu的docker / os
中$ ps
PID USER TIME COMMAND
1 postgres 0:00 postgres
47 postgres 0:00 postgres: checkpointer process
48 postgres 0:00 postgres: writer process
49 postgres 0:00 postgres: wal writer process
50 postgres 0:00 postgres: autovacuum launcher process
51 postgres 0:00 postgres: stats collector process
52 postgres 0:00 postgres: bgworker: logical replication launcher
现在如果运行ps -p 1 -o user=
,它会让我 PID 1 处理用户postgres
$ ps -p 1 -o user=
postgres
这是我在基于ubuntu
的image / os
立即
我真的在寻找一种方法来为基于alpine
的图像做同样的事情。我可以在哪里运行ps
命令来获取 PID 1 处理USER。
我没有找到任何文档/提示。
答案 0 :(得分:9)
默认情况下,高山图像中有ps
非常剪切版本。这是忙碌的一个:
/ # ps --help
BusyBox v1.27.2 (2017-12-12 10:41:50 GMT) multi-call binary.
Usage: ps [-o COL1,COL2=HEADER]
Show list of processes
-o COL1,COL2=HEADER Select columns for display
它只能显示已定义列的输出。
如果您想使用未切割的ps
,则需要先将其安装到alpine图像:
/ # apk add --no-cache procps
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/community/x86_64/APKINDEX.tar.gz
(1/6) Installing libintl (0.19.8.1-r1)
(2/6) Installing ncurses-terminfo-base (6.0_p20171125-r0)
(3/6) Installing ncurses-terminfo (6.0_p20171125-r0)
(4/6) Installing ncurses-libs (6.0_p20171125-r0)
(5/6) Installing libproc (3.3.12-r3)
(6/6) Installing procps (3.3.12-r3)
Executing busybox-1.27.2-r7.trigger
OK: 13 MiB in 17 packages
现在,您可以使用它:
/ # ps -p 1 -o user=
root