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: 56.642 ]
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
Desligamento programado com interface gráfica em Zenity
Criação de pasta com senha no Apache
Automação para midias removíveis
Desligando infraestrutura de ITM6
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Redimensionando, espelhando, convertendo e rotacionando imagens com script
Debian 13 Trixie para Iniciantes
Convertendo pacotes DEB que usam ZSTD (Padrão Novo) para XZ (Padrão Antigo)
Rust é o "C da nossa geração"? (2)
O que você está ouvindo agora? [2] (212)