Como obter o UID e o PID

1

Então, aqui está o que eu quero fazer: o usuário insere um USERNAME. Com base nesse nome de usuário, preciso obter a lista de processos iniciados por esse usuário. Estou planejando fazer isso obtendo o UID desse usuário e listando todos os processos com esse UID. Eu encontrei apenas o UID no arquivo /proc/$PID/status . Não tenho certeza de como faço isso.

    
por Dee 15.10.2015 / 07:13

1 resposta

3

Para obter o UID do nome de usuário, use id -u :

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

Mas você está reinventando a roda. pgrep já lida bem com isso:

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

Você também pode usar ps :

$ ps -U www-data -o uid,pid
  UID   PID
   33  1909
   33  1910
   33  1911
   33  1912
    
por 15.10.2015 / 07:22