gpt4 book ai didi

process - 如何在Alpine中使用ps命令获取特定PID的进程名称

转载 作者:行者123 更新时间:2023-12-04 17:15:36 26 4
gpt4 key购买 nike

在基于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 进程USER postgres
$ ps -p 1 -o user=
postgres
这是我可以在基于 ubuntu的图像/操作系统中执行的操作
现在
我真的在寻找一种方法来对基于 alpine的图像执行相同的操作。我可以在其中运行 ps命令来获取 PID 1 进程USER。
我没有发现任何文档/提示。

最佳答案

默认情况下, Alpine 图像中有非常简化的ps版本。它是busybox之一:

/ # 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

关于process - 如何在Alpine中使用ps命令获取特定PID的进程名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48655709/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com