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: 54.984 ]
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
Script para iniciar programas instalados no wine
Script de compilação do Xorg 7.2 otimizado para Slackware 64 bits (Slamd64)
Instalação do Microsoft Edge no Linux
Dê utilidade aquelas teclas que não servem pra nada do seu teclado
Adicionar máquinas em lote no SAMBA
Crie alias para as tarefas que possuam longas linhas de comando - bash e zsh
Criando um gateway de internet com o Debian
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Entendendo o que é URI, URL, URN e conhecendo as diferenças entre POST e GET
Instalando Discord no Fedora 40
Instalando Discord no Ubuntu 24.04 LTS
Como instalar o XFCE4-terminal na sua distribuição Linux e integrá-lo ao sistema
Como instalar o Tilix Terminal no Gnome e usá-lo como menu drop-down ao estilo Quake
Problemas na configuração da acentuação do meu teclado ABNT2 (7)
Falha ao iniciar o servidor dhcp no debian10 (4)
problemas com artefatos na instalação (2)
BUG ao atualizar pacotes libglib2.0-0 libglib2.0-bin libglib2.0-data (11)