日期:2014-05-16  浏览次数:20817 次

如何通过PID 获取username?
RT

  Mac 系统下, 我通过 getpid 获取到进程的pid, 现在想通过这个pid来获取 username。

 刚开始 我是通过 popen(“ps -o pid= pidnum”“r”)这样似乎是可以获取到进程的user,但是在mac 10.4下打印出来的却是空的。


请教一下,还有什么办法获取???????

------解决方案--------------------
那换个方式,mac我不是很确认
RHEL的话,你可以读取/proc/pidnum/att目录的属主,就能知道该pidnum的username了

例如:
ps -ef
UID PID PPID C STIME TTY TIME CMD
501 3266 1 2 Feb08 ? 00:26:52 /usr/local/bin/memcached -p 11211 -d -u memcached -v

ls -ld /proc/3266/attr
dr-xr-xr-x 2 memcached memcached 0 02-08 16:47 /proc/3266/attr

------解决方案--------------------
探讨

1. Mac 下面没有找到 /proc 目录 ;

2. ps -p PIDNUM 输出的信息里面没有user name


上面的两种办法还是不行。。 不过多谢了。。 我还在寻找办法。。。


通过函数或者shell命令。。ing。。。