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

时间:2012-02-09 04:34:37

标签: macos shell

我使用getpid()来了解进程PID,现在我该如何获取进程用户名?

我尝试了这个shell命令ps -o user= PIDNUM,但在Mac 10.4上,它对我不起作用。

还有其他方法吗?

3 个答案:

答案 0 :(得分:4)

我会使用psawk

% 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 }'  

答案 1 :(得分:1)

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

答案 2 :(得分:1)

以下内容可以做到:ps -efj | grep PID

,其中

  • e:选择所有流程
  • f:完整格式列表
  • j:工作控制格式。

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