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

관련 정보