如何获取UID和PID

如何获取UID和PID

所以这就是我想要做的:用户输入用户名。根据这个用户名,我需要获取该用户启动的进程列表。我计划通过获取该用户的 UID 并列出具有该 UID 的所有进程来实现此目的。我只在/proc/$PID/status文件中找到了UID。我不清楚如何进行此操作。

答案1

要从用户名获取 UID,请使用id -u

$ id -u root
0
$ id -u lightdm
112
$ id -u nobody 
65534

但你正在重新发明轮子。pgrep已经处理得很好了:

$ pgrep -u www-data
1909
1910
1911
1912
$ id -u www-data   
33
$ pgrep -u 33      
1909
1910
1911
1912

您还可以使用普通ps

$ ps -U www-data -o uid,pid
  UID   PID
   33  1909
   33  1910
   33  1911
   33  1912

相关内容