【问题标题】:how to find owner of a process without ps如何在没有 ps 的情况下找到进程的所有者
【发布时间】:2020-07-16 23:13:11
【问题描述】:

运行 nginx 高山映像。 ps 未安装且无权使用 apt-get 安装 ps。我有进程的pid。有什么办法可以找出进程的所有者是谁?

在这种情况下,我想弄清楚谁在运行 nginx 主进程。

【问题讨论】:

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

标签: linux nginx


【解决方案1】:

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

ls -ld /proc/816

如果您有stat,您可以只显示所有者,并使用精美的格式:

stat -c '%U' /proc/775
avahi

奖励:打印您的用户名而不查看 $USER

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

【讨论】:

    【解决方案2】:

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

    因此,您可以通过简单地运行以下命令来获取进程的所有者:

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

    【讨论】:

      【解决方案3】:

      您可以使用 docker top 命令获取有关在 docker 容器内运行的所有进程的详细信息

      语法

      docker top <container ID or name>
      

      【讨论】:

        【解决方案4】:

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

        top
        

        如果要查找具体的进程名:

        top | grep nginx
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2018-09-10
          • 1970-01-01
          • 1970-01-01
          • 2022-01-09
          • 2019-11-30
          • 1970-01-01
          • 2011-08-06
          相关资源
          最近更新 更多