Ir ao conteúdo
  • Cadastre-se

Encontrar user do processo em /Proc/*


Posts recomendados

Olá, sou iniciante em Sistemas Operacionais e tenho que fazer um trabalho de faculdade e estou com uma dúvida...

 

Preciso fazer um programa em c que leia processos em sequência identificando o PID e nome do programa, o usuário que está executando o mesmo e o estado do processo.

 

No entanto, achei na pasta /proc/PID/stat as informações do o PID e nome do programa, o estado do processo, que são as três primeiras informações do arquivo. Mas, não achei o usuário que está executando o mesmo em nenhuma pasta em /proc/PID

Onde encontro tal informação? No final a tabela tem que ser assim: 

 

PID | User | PROCNAME | Estado |

-------|---------|----------|--------|

1242 | username| yes | S |

 

Ou seja, com o caminho /proc/PID/stat acho o "arquivo" que leio em C e imprimo o PID, Procname e Estado. Mas não achei nada que me informe o User.

 

OBS: /proc/PID/stat, O PID é o ID do processo, tipo /proc/2/stat

 

Desde já agradeço..

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

/proc/PID/status

 

Procure pelas linhas que começam com "Uid:" e "Gid:". Depois você pode passar os IDs numéricos para as funções getpwuid() e getgrgid() da libc para obter o nome do usuário e grupo.

 

http://man7.org/linux/man-pages/man3/getpwuid.3.html

http://man7.org/linux/man-pages/man3/getgrgid.3.html

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...