Linux 如何在没有ps的情况下找到流程的所有者

Linux 如何在没有ps的情况下找到流程的所有者,linux,nginx,Linux,Nginx,运行nginx alpine image。未安装ps,并且没有使用apt get安装ps的权限。我有进程的pid。我有没有办法找出谁是流程的所有者 在本例中,我想知道谁在运行nginx主进程 使用ls在proc目录中查找进程所有者 ls -ld /proc/816 如果您有stat,则可以仅显示具有奇特格式的所有者: stat -c '%U' /proc/775 avahi 奖励:打印您的用户名而不看$user stat -c '%U' /proc/$$ 使用ls在proc目录中查找进程所

运行nginx alpine image。未安装ps,并且没有使用apt get安装ps的权限。我有进程的pid。我有没有办法找出谁是流程的所有者

在本例中,我想知道谁在运行nginx主进程

使用ls在proc目录中查找进程所有者

ls -ld /proc/816
如果您有stat,则可以仅显示具有奇特格式的所有者:

stat -c '%U' /proc/775
avahi
奖励:打印您的用户名而不看$user

stat -c '%U' /proc/$$
使用ls在proc目录中查找进程所有者

ls -ld /proc/816
如果您有stat,则可以仅显示具有奇特格式的所有者:

stat -c '%U' /proc/775
avahi
奖励:打印您的用户名而不看$user

stat -c '%U' /proc/$$

您可以在/proc/YOUR_process_ID/status中找到与流程相关的所有信息,其中YOUR_process_ID是流程的PID

因此,您只需运行如下操作即可获得流程的所有者:

cat /proc/YOUR_PROCESS_ID/status | grep "Uid" | cut -f 2 | id -nu

您可以在/proc/YOUR_process_ID/status中找到与流程相关的所有信息,其中YOUR_process_ID是流程的PID

因此,您只需运行如下操作即可获得流程的所有者:

cat /proc/YOUR_PROCESS_ID/status | grep "Uid" | cut -f 2 | id -nu
您可以使用docker top命令获取docker容器中运行的所有进程的详细信息

语法

docker top <container ID or name>
您可以使用docker top命令获取docker容器中运行的所有进程的详细信息

语法

docker top <container ID or name>

从活动进程列表中检查如何

top
如果要查找特定的进程名称:

top | grep nginx

从活动进程列表中检查如何

top
如果要查找特定的进程名称:

top | grep nginx

如果它实际上是一个基于阿尔卑斯山的图像,我很惊讶ps不可用。这是核心busybox二进制文件的一部分,几乎不可能删除。如果它实际上是基于alpine的图像,我很惊讶ps不可用。这是核心busybox二进制文件的一部分,几乎不可能删除。