如何在Mac OS上通过PID获取进程用户名?

问题描述 投票:0回答:3

我用

getpid()
来知道进程PID,现在如何获取进程用户名?

我尝试了这个 shell 命令,

ps -o user= PIDNUM
,但在 Mac 10.4 上,它对我不起作用。

还有其他方法吗?

macos shell
3个回答
7
投票

以下可以做到这一点:

ps -efj | grep PID

哪里

  • -e
    - 选择所有进程
  • -f
    - 完整格式列表
  • -j
    - 作业控制格式。

[http://linux.die.net/man/1/ps][1]


6
投票

ps -ef | grep <process_pid>
--- 这将为您提供所需的所有信息。


6
投票

我会使用

ps
awk
:

% ps aux | awk -v PID=13521 '$2 == PID { print $1 }'
root

...其中

13521
是有问题的 PID。替换成你自己的PID或者
${environment_variable}
来品尝!

如果您没有 PID,您可以找到运行 Google Chrome 的所有用户(例如):

% ps aux | awk -v app='Google Chrome' '$0 ~ app { print $1 }'  
© www.soinside.com 2019 - 2024. All rights reserved.