detectar processos

1. detectar processos

Perfil removido
removido

(usa Nenhuma)

Enviado em 09/02/2010 - 12:16h

como criar um script para matar processos??

uso freebsd, o flash é emulado, e foi carregado pelo "nspluginplayer"

sempre que acesso algum site com flash um processo como npviewer.bin é criado, muitas vezes ele chega a ocupar 14% da memoria e as vezes fica um monte de processo repetido, algo como uns 10 npviewer.bin msm tendo fechado o firefox

o meu problema e como fazer o script detectar se o processo "npviewer.bin" está ativo, e se o processo npviewer.bin ultrapassar 6% de memoria, o processo eh matado

o meu unico problema é como saber o PID do processo e quanto ele está ocupando de memoria


  


2. Re: detectar processos

Daniel Fernandes
volcom

(usa Debian)

Enviado em 09/02/2010 - 12:30h

Com o comando ps aux você tem todos os processos que estão ativos;

Com o grep pode filtrar o resultado que interessa;

Com o awk pode selecionar somente as colunas que precisa;

Deve ficar algo mais ou menos assim:

ps aux | grep PROCESSO | awk '{print $2 $4 $11}'

vai retornara tudo junto: PID (coluna 2), utilização de MEMÓRIA (coluna 4) e nome do processo (coluna 11).

Seria interessante fazer o resultado do awk ser jogado em variáveis e depois você faz as verificações necessárias.

Creio que já seja um bom começo...se tiver dúvidas poste aqui!

Abraço


3. Re: detectar processos

paulo
psdrop

(usa CentOS)

Enviado em 12/02/2010 - 18:11h

kill -9 $(pidof asterisk)


4. Re: detectar processos

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 12/02/2010 - 18:52h

acho que seria algo +/- assim cara ...
testa ai ...


#monitor

nome_do_processo="npviewer.bin"

ps aux | grep $nome_do_processo | while read line
do
memoria=`echo $line | awk '{ print $4 }' | cut -d. -f1`

if [ "$memoria" -ge 6 ]; then
echo $line
processo=`echo $line | awk '{ print $2 }'`
kill -9 $processo

fi

done


5. Re: detectar processos

Perfil removido
removido

(usa Nenhuma)

Enviado em 19/02/2010 - 17:17h

malz a demora galera

é que estava com uns outros problemas aki, mas ja resolvi tudo

vou testar aki e vou ver noq da


6. Re: detectar processos

Perfil removido
removido

(usa Nenhuma)

Enviado em 26/02/2010 - 14:02h

sou meiu ruim nisso, mas ve como eu fiz, teria alguma forma de deixar o codigo mais limpo?? para que fique mais rapido, pois pretendo colocar ele no cron para executar a cada 5 ou 10 segundos

-----------------------------

#!/usr/local/bin/bash

prog=`ps cax | awk '{print $5}'`
npvi=`echo $prog | grep npviewer.bin`
fire=`echo $prog | grep firefox`

if -n $npvi; then
if -z $fire; then
killall npviewer.bin
fi
fi

------------------------------------


7. atualmente

Perfil removido
removido

(usa Nenhuma)

Enviado em 26/02/2010 - 14:11h

#!/usr/local/bin/bash

npvi=`ps cax | awk '{print $5}' | grep npviewer.bin`
fire=`ps cax | awk '{print $5}' | grep firefox`

if [ -n "$npvi" ] ; then
if [ -z "$fire" ] ; then
killall npviewer.bin
fi
fi


8. Re: detectar processos

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 26/02/2010 - 19:56h

Cara, não consegui ver nada pra cortar o seu script nao.


9. Re: detectar processos

Perfil removido
removido

(usa Nenhuma)

Enviado em 26/02/2010 - 20:08h

agr eu to na facu

mas ja fiz alguma modificações, coloquei rodando um sleep no script em um loop infinito


10. Re: detectar processos

Perfil removido
removido

(usa Nenhuma)

Enviado em 27/02/2010 - 02:44h

#!/usr/local/bin/bash

while [ a != b ]; do
npvi=`ps cax | awk '{print $5}' | grep npviewer.bin`
fire=`ps cax | awk '{print $5}' | grep firefox`

if [ -n "$npvi" ] ; then
if [ -z "$fire" ] ; then
killall npviewer.bin
fi
fi
sleep 10
done

--------------------------------------------

coloquei ele para ser executado no boot,

ele se chama /etc/rc.d/processofire2

o /etc/rc.d/processofire serve para executar o /etc/rc.d/processofire2

eu fiz isso com a intenção de executar de um modo que nao trava no boot

ex: quando faço o boot, ele executa todos os scripts, mas esse é um loop infinito, ou seja, ele fica parado ali ateh acabar "nunca" ai tenho que apertar ctrl+c para interromper o script, para ai sim eu poder fazer o login e depois startx

eu tentei assim no processofire

/etc/rc.d/processofire2 &

tentei tbm com && mas msm assim nao deu certo, afinal nao tenho ideia de como resolver isso

resolvendo isso, ja será um grande passo para a continuação do script

vlw






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts