Simplificando os comandos:
No lugar de
usocpu=$(top -b -n 1 | grep -w "$piddoprocesso" | awk '{print $9}')
Use:
usocpu=$(ps -o pcpu --no-headers -p "$piddoprocesso")
{}s Francisco Brasileiro (Kico)
"A utopia está lá no horizonte. Me aproximo dois passos, ela se afasta dois
passos. Caminho dez passos e o horizonte corre dez passos. Por mais que eu
caminhe, jamais alcançarei. Para que serve a utopia? Serve para isso: para
que eu não deixe de caminhar". Eduardo Galeano.
______________________________________________________________________
Francisco Vasconcelos Brasileiro [email protected]
UIN: 6826562 Linux User: #101368
Em 24 de março de 2011 09:47, Noilson Caio <[email protected]> escreveu:
> Acho que estou entendendo a parada. Você tá querendo pegar o consumo atual
> de um determinado processo e fazer um teste.
>
> Vamos lá, vou usar como exemplo o firefox, já que eu não tenho aqui o VLC,
> :P
>
> De inicio, seria legal ter uma variável com o pid do processo.
>
> #!/bin/bash
> nomedoprocesso="firefox-bin"
> piddoprocesso="$(pgrep "$nomedoprocesso")"
> echo "$piddoprocesso"
>
>
>
> Inicie por esse script, vai te ajudar a encontrar o pid correto, em casos
> sua variável pode retorna mais que um pid. E claro, existem outras formas de
> pegar o PID.
> Depois você pode pegar informações do top, ele seria o mais indicado, já
> que passa as informações/contadores em seu status atual.
>
>
> top -b -n 1 | grep -w "$piddoprocesso" | awk '{print $9}'
>
> Detalhes: roda o top em tela, pega a linha que contem apenas a string
> "$piddoprocesso" e com o awk, pega o nono campo, que é igual a CPU%
>
> * PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND*
>
>
> Cara, daí é jogar isso em outra var:
>
> usocpu=$(top -b -n 1 | grep -w "$piddoprocesso" | awk '{print $9}')
>
>
>
> #!/bin/bash
> nomedoprocesso="firefox-bin"
> piddoprocesso="$(pgrep "$nomedoprocesso")"
> usocpu=$(top -b -n 1 | grep -w "$piddoprocesso" | awk '{print $9}')
> echo "PID: "$piddoprocesso""
> echo "Uso de CPU: "$usocpu" "
>
> Depois aplique os seus testes. Espero ter ajudado.
> Valeu
>
> Em 24 de março de 2011 07:58, Adenir Rodrigues <[email protected]> escreveu:
>
> Ola pessoal.
>> Estou escrevendo um script para avaliar o funcionamento de um determinado
>> processo.
>> O caso é que se o processo conumir menos de 40 % da cpu é porque esta
>> congelado e a única forma de restaura-lo é atravez de um reboot. Para tanto
>> estou usando:
>> #!/bin/bash
>> status=`ps -eo pid,$cpu,comm|grep -i vlc`
>> pid=`echo status|cut -c1-4`
>> cpu=`echo status|cut -c6-7`
>> if [ $cpu -gt 40 ]
>> then
>> echo"processo ok" $cpu
>> else
>> reboot
>> fi
>> exit 0
>>
>> O problema é que ps -eo pid,$cpu,comm|grep -i vlc não retorna o consumo
>> correto, o vlc trava mas só com o top eu consigo ver que o consumo de cpu
>> esta baixo.
>> Alguma dica?
>> At.
>>
>> --
>> Adenir Rodrigues Filho
>> Desenvolvimento de Sistemas Ditribuidos
>> UTFPR (CEFET-PR)
>> 41 32382248
>> 41 84320406
>>
>> --
>> GUS-BR - Grupo de Usuários de Slackware Brasil
>> http://www.slackwarebrasil.org/
>> http://groups.google.com/group/slack-users-br
>>
>> Antes de perguntar:
>> http://www.istf.com.br/perguntas/
>>
>> Para sair da lista envie um e-mail para:
>> [email protected]
>
>
>
>
> --
> " Eu quero saber como renomear um arquivo " ele diz.
> Por favor, é dia de pagamento, não é?! Mas eu estou de bom humor.
> " Claro. Basta dar 'rm' e o nome do arquivo "
> " Obrigado "
>
> Noilson Caio T. de Araújo
> Linux Professional Institute Certification
> LPI000182893
> Novell Certified Linux Administrator (CLA)
> 10111916
> Novell Data Center Technical Specialist
> http://ncaio.ithub.com.br
>
>
> --
> GUS-BR - Grupo de Usuários de Slackware Brasil
> http://www.slackwarebrasil.org/
> http://groups.google.com/group/slack-users-br
>
> Antes de perguntar:
> http://www.istf.com.br/perguntas/
>
> Para sair da lista envie um e-mail para:
> [email protected]
>
--
GUS-BR - Grupo de Usuários de Slackware Brasil
http://www.slackwarebrasil.org/
http://groups.google.com/group/slack-users-br
Antes de perguntar:
http://www.istf.com.br/perguntas/
Para sair da lista envie um e-mail para:
[email protected]