Você pode me ajudar a encontrar o nome de usuário do PID? Algum tempo, meu servidor ficou com alta carga. Quando top -c, não consigo nem encontrar o nome de usuário do PID que está causando carga no servidor.
Estávamos enfrentando um problema de carga do servidor devido ao processo php em massa, de modo que eu tinha essa pergunta, podemos encontrá-los usando 'lsof -p xxxx'.
precisa saber é o seguinte
Respostas:
30
Estou surpreso que ninguém colocou isso ainda:
Tente a -popção para o pscomando
Por exemplo, se você tiver PID 1234, execute:
ps -u -p 1234
( -uFoi adicionado para incluir o nome de usuário na saída)
Você pode usar grepou awketc. para extrair as informações que deseja.
Você era um carrapato mais rápido que eu. Você está acordando mais cedo? Dependendo da distribuição do Linux, ps u 1234(Debian) ou apenas ps 1234(Android com Busybox) também funciona.
ott--
5
/proc/processID/status terá as informações sobre o ID do usuário que você pode usar para encontrar o nome de usuário.
Respostas:
Estou surpreso que ninguém colocou isso ainda:
Tente a
-p
opção para ops
comandoPor exemplo, se você tiver PID
1234
, execute:(
-u
Foi adicionado para incluir o nome de usuário na saída)Você pode usar
grep
ouawk
etc. para extrair as informações que deseja.fonte
ps u 1234
(Debian) ou apenasps 1234
(Android com Busybox) também funciona./proc/processID/status
terá as informações sobre o ID do usuário que você pode usar para encontrar o nome de usuário.Isso faz o mesmo:
Substitua YOUR_PROCESS_ID pelo seu número de identificação do processo.
fonte
Obtenha apenas o nome de usuário de um PID:
Você também pode combiná-lo com um
pgrep
. Neste exemplo, mostramos todos os nomes de usuário executando algum.php
arquivo:Encontre apenas um nome de usuário executando um determinado processo exclusivo:
fonte
O que você quer exatamente? No meu sistema, se eu executar 'top -c', recebo:
Portanto, o PID (identificador de processo / tarefa) é a primeira coluna e a conta de usuário sob a qual o processus é executado é a segunda coluna
fonte
Eu acho que o caminho mais curto é:
O
/proc/<pid>/loginuid
arquivo possui o número de uid do usuário que está executando o processo;id -nu
lê uid de stdin e retorna um nome de usuário.fonte