Filtrando processos facilmente com psaux ( ps aux + grep + wc -l)
Publicado por Everton Pereira Santos 29/06/2009 (última atualização em 21/09/2009)
[ Hits: 57.079 ]
Download psaux2.sh (versão 2)
O ps é uma ferramente essencial e corriqueira, e já usamos quase que automaticamente com
o grep, só que somos limitados a filtrar um processo por vez, por exemplo para ver os
processos do mysql, httpd e snmp:
$ ps aux | grep mysql; ps aux | grep httpd; ps aux | grep snmp
# O uso do ; é porque roquei 3 comandos numa mesma linha
Então escrevi esse script para facilitar e ganhar tempo, que é algo que nunca temos. Então
para ver os mesmo processos de cima ficaria assim:
$psaux mysql httpd snmp
Versão 2 - Enviado por Everton Pereira Santos em 21/09/2009
Changelog: No script anterior havia um problema, pois eu uso o parâmetro "ps aux | grep -v" grep para que não mostre a linha do próprio comando executado, então, se precisasse verificar os processos do ngrep por exemplo, ele ignorava.
#!/bin/bash
#=============================================== #
# ## Introdução ## #
# Script para para facilitar na hora de filtrar a saída do comando #
# "ps", pois, não é necessário utilizar " | grep filtro_desejado " #
# e também por permitir que mais de um programa seja filtrado por vez e #
# até exibir o total de processos. #
# ## Uso ## #
# Por exemplo filtrar os processos do mysql e httpd seria assim #
# $ ps aux | grep mysql ; ps aux | grep http, e agora apenas #
# $ psaux mysql httpd #
# ## Sugestão ## #
# adicione o script no diretório /usr/bin para seje carregado no path de #
# todos os usuários #
# Everton - everton_spd@yahoo.com.br #
#=============================================== #
if test -z "$1" ;then
echo -e "\n\t\t{FONTE}33[1;32;40mTODOS OS PROCESSOS{FONTE}33[0m"; ps aux | grep -v awk | \
awk '{printf "%6s", $1} {printf "%9s " ,$2} {printf(substr($0,65,300))} {printf "\n"}'
echo -e "{FONTE}33[1;29;40m`ps aux | wc -l` procs{FONTE}33[0m"
else
GR='grep -v 'grep''
PS='grep -v 'psaux''
for ii in $@;do
echo -e "\n\t\t{FONTE}33[1;32;40m`echo $ii | tr '[a-z]' '[A-Z]'`{FONTE}33[0m"; ps aux | fgrep $ii | $GR | $PS | \
awk '{printf "%6s", $1} {printf "%9s " ,$2} {printf(substr($0,65,300))} {printf "\n"}'
echo -e "{FONTE}33[1;29;40m`ps aux | fgrep $ii | $GR | $PS | wc -l` procs{FONTE}33[0m"
done
fi
Fazendo Failover entre 2 Links
Alteração de Senha do Mysql (sem saber a senha anterior).
Download do banco de dados NCBI NR (DNA)
Gentoo binário em 2026: UEFI, LUKS, Btrfs e Systemd
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Servidor vs Computador Convencional
Como administrar uma rede Linux através da ferramenta Webmin
Como escanear portas de um servidor através da ferramenta Nmap e como alterar a porta do SSH.
Marcando e desmarcando pacotes para atualização, instalação e remoção no Debian e agregados
Audio Failure on Acer Aspire AS4738 – Intel 5 Series HD Audio (Linux M... (1)









