Parece que não há atualmente nenhuma maneira de fazer isso conforme você solicita com programas de terminal. O que você pergunta não é novo e, na verdade, está na lista de solicitações de recursos htop
, mas tem sido assim por um ano e meio e nenhum marco foi definido para implementar isso ainda. Nenhum sinal disso para top
. 2 opções podem ser:
1) Dois terminais
Você pode dizer ao topo (por exemplo, você pode usar f
durante a execução) para mostrar o UID e não o nome. Se você dividiu seu terminal em dois campos, como terminator
ou screen
, poderá executar a parte superior na tela superior maior e consultar o nome de usuário na parte inferior, por exemplo,
awk -v val=1000 -F ":" '$3==val{print $1}' /etc/passwd
substituindo o UID que você quer ver por 1000. É claro que você pode colocá-lo em um script muito pequeno, então você deve digitar apenas algumas letras do seu nome de script e do UID. Além disso, se você estiver falando sobre usuários não locais, você pode usar getent passwd
como entrada para o awk em vez do arquivo / etc / passwd - assim:
getent passwd | awk -v val=1000 -F ":" '$3==val{print $1}'
2) opção ps
Você poderia usar ps para dar a você 15 processos mais pesados da CPU e a quem eles pertencem. Você pode variar o número de processos, é claro.
ps -ef | egrep -v "STIME|$LOGNAME" | sort -k4 -r | head -n 15 | colrm 100
Explicação:
ps -ef gives you all processes
egrep -v "STIME|$LOGNAME" removes the header line
sort -k4 -r sorts by the CPU column in reverse (biggest on top)
head -n 15 gives you first 15 lines of above
colrm 100 restricts each line of output to 100 characters
O último comando é útil, pois alguns programas sch como google chrome têm linhas de opções muito longas após o comando, então sua saída será difícil de ler se você não cortar as linhas.