Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Ubuntu 10.04 +kde 4
Por PE045
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha


Comunidades

Comunidade Linux Home Participar da comunidade Linux Participar Fórum Linux Fórum Membros LinuxMembros RSS do fórum

<< Primeira | Anterior Próxima | Última >>

detectar processos

[1] Enviado em 09/02/2010 - 12:16h detectar processos
Linux user: Douglas Giorgio Fim
douglas.giorgio

(usa FreeBSD)


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] Enviado em 09/02/2010 - 12:30h Re: detectar processos
Linux user: Daniel Fernandes
volcom

(usa Debian)


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] Enviado em 12/02/2010 - 18:11h Re: detectar processos
Linux user: paulo
psdrop

(usa Debian)


kill -9 $(pidof asterisk)

 

[4] Enviado em 12/02/2010 - 18:52h Re: detectar processos
Linux user: DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)


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] Enviado em 19/02/2010 - 17:17h Re: detectar processos
Linux user: Douglas Giorgio Fim
douglas.giorgio

(usa FreeBSD)


malz a demora galera

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

vou testar aki e vou ver noq da

 

[6] Enviado em 26/02/2010 - 14:02h Re: detectar processos
Linux user: Douglas Giorgio Fim
douglas.giorgio

(usa FreeBSD)


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] Enviado em 26/02/2010 - 14:11h atualmente
Linux user: Douglas Giorgio Fim
douglas.giorgio

(usa FreeBSD)


#!/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] Enviado em 26/02/2010 - 19:56h Re: detectar processos
Linux user: DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)


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

 

[9] Enviado em 26/02/2010 - 20:08h Re: detectar processos
Linux user: Douglas Giorgio Fim
douglas.giorgio

(usa FreeBSD)


agr eu to na facu

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

 

[10] Enviado em 27/02/2010 - 02:44h Re: detectar processos
Linux user: Douglas Giorgio Fim
douglas.giorgio

(usa FreeBSD)


#!/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

 

  
<< Primeira | Anterior Próxima | Última >>
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.