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: 55.821 ]
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
Unificando arquivos de bloqueio e liberação no squid
Script p/ instalar o modem pctel onboard
Administração do Samba + LDAP - ainda para terminar
Firewall com iproute2 para 2 links com ip fixo
Mantenha seu relógio ajustado 2.0
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
SysAdmin ou DevOps: Qual curso inicial pra essa área? (0)
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código (3)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta