그래서 제가 하고 싶은 일은 다음과 같습니다. 사용자가 자신의 사용자 이름을 입력합니다. 이 사용자 이름을 기반으로 이 사용자가 시작한 프로세스 목록을 가져와야 합니다. 나는 사용자의 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