Script para listar processos [RESOLVIDO]

1. Script para listar processos [RESOLVIDO]

Tk Oliveira
IsaOliveira

(usa Ubuntu)

Enviado em 17/11/2016 - 03:45h

Olá pessoal,

Estou precisando de um script em shell, que listar todos os processos que estão consumindo mais do que X% de
recursos da memória RAM. E X é um valor informado pelo usuário como parâmetro antes de executar a função.

Já pesquisei bastante, e tentei fazer algumas coisas, mas não está dando certo.
Então, gostaria de saber se alguém poderia ajudar?

Desde já agradeço.


  


2. Re: Script para listar processos [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 17/11/2016 - 04:08h

Pode ser algo como

ps aux | sort -r -n --key=4 | awk ' $4 > 1.0 { print $4 " " $11 }' 


ps aux - mostra processos e informações de memória, cpu, dono, nº do processo etc.
sort -n -r --key=4 ordena usando o 4º campo (memória) como chave como campo numérico e do maior para o menor
awk é uma linguagem de processamento de texto. O que faz:

$4 > 1.0 - faz filtrar apenas dados do quarto campo (memória) que sejam maiores que 1.0. Coloque outros valores no lugar de 1.0
print $4 " " $11 escreve o dado do 4º e 11º campo, que são o valor do uso de memória e o nome do processo.

Se quiser outros dados é só mudar o $4 e $11.

ps aux | head -1 


Este último comando acima mostra o cabeçalho do comado ps aux.
Serve para você ver pelo nome dos campos o que cada coluna do ps aux quer dizer.
Daí é só trocar o valor do campo com $ pelo número da coluna.

----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



3. Re: Script para listar processos [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 17/11/2016 - 10:20h

IsaOliveira escreveu:

Olá pessoal,

Estou precisando de um script em shell, que listar todos os processos que estão consumindo mais do que X% de
recursos da memória RAM. E X é um valor informado pelo usuário como parâmetro antes de executar a função.

Já pesquisei bastante, e tentei fazer algumas coisas, mas não está dando certo.
Então, gostaria de saber se alguém poderia ajudar?

Desde já agradeço.


--------------------------------------------------
Bom dia Isa Oliveira.
Segue:

#!/bin/bash
if [[ $1 ]];then
X=$1
ps aux|awk '$4 > '$X' {print "\n Processo: "$11}'
else
echo -e " Falta Argumento.\n '\$1' refere-se ao Valor. "
fi



att.:
Marcelo Oliver



4. Re: Script para listar processos [RESOLVIDO]

Wagner Souza
wagnerfs

(usa Fedora)

Enviado em 18/11/2016 - 00:33h

Dá uma olhada nesse link para ver se ajuda https://www.vivaolinux.com.br/dica/Exercicio-Pratico-LPIC-09
_________________________
"GNU/Linux for human beings."

ºvº "Software Livre: não é pelo dinheiro.
/( _ ) É uma questão de consciência."
^ ^




5. Re: Script para listar processos [RESOLVIDO]

Tk Oliveira
IsaOliveira

(usa Ubuntu)

Enviado em 19/11/2016 - 16:13h

Obrigada a todos, as dicas ajudaram muito :D






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts