所以这就是我想要做的:用户输入用户名。根据这个用户名,我需要获取该用户启动的进程列表。我计划通过获取该用户的 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