shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Executar comando diminuindo timeout


From: Fredi Rolf Bieging
Subject: Re: [shell-script] Executar comando diminuindo timeout
Date: Wed, 23 Apr 2014 11:24:02 -0300

Tente usar o comando timeout. Veja:

$ time timeout 2 sleep 1

real 0m1.003s
user 0m0.000s
sys 0m0.000s
$ time timeout 2 sleep 3

real 0m2.002s
user 0m0.000s
sys 0m0.000s



2014-04-23 10:06 GMT-03:00 Julio C. Neves <address@hidden>:
 

Fala Renato,
vc não poderia testar o código de retorno do Zabbix? Algo simples, no estilo:

cmd ... || {
echo deu zebra
exit 1
}

Não funcionaria?

Se isso não der certo, o YAD tem uma opção genérica --timeout que funciona, mas não creio que se encaixe bem no seu problema.

Abcs,
Julio
@juliobash
Próximos cursos de Shell
Cidade         Local Período
Rio de Janeiro EDX 26-30/05
Dou treinamento de shell em qualquer cidade.
Para mais detalhes, me mande um e-mail.



Em 23 de abril de 2014 09:52, Renato Sousa <address@hidden> escreveu:

 

Pensei nisso Osvaldo.  O problema é que o comando time não vai abortar a execução.
A função desse script é inserir um monitoramento no Zabbix.  O problema é que se ele demora muito para executar o Zabbix alcança o timeout e não tenho nenhum retorno.
Atualmente a execução do comando quando falha demora cerca de 30 segundos.  Aumentar esse timeout no Zabbix não é uma opção pois iria degradar a performance.
Acredito que se em 5 segundos o comando não terminar sua execução já posso considerar como falha e retornar o código de falha ao Zabbix.

Abraços,

Renato


Em 23 de abril de 2014 09:42, Osvaldo Filho <address@hidden> escreveu:
 

Você pode executar com o comando time. Joga dentro de uma varável e testa com o IF. 

timeout=$(time comando)

if $timeout -gt valorEscolhido
do
       echo Excedeu
done


2014-04-23 9:39 GMT-03:00 Renato Sousa <address@hidden>:

 

Bom dia a todos da lista,

Preciso elaborar um script que executa um comando e me retorna a variável $? para verificar se o comando foi ou não bem sucedido.  O problema é que o timeout do comando em caso de falhas é muito grande e não consigo (ou não sei !!!) alterar esse comportamento na  execução.
Existe algum comando para executar um outro comando por X segundos e abortar caso esse tempo seja maior ?
Estive pensando em fazer um laço, executar o comando em background, identificar o PID e acompanhar a execução por um período determinado.
Alguém tem alguma ideia ?

Abraços,

Renato




--
Att,

Osvaldo Filho.

Analista de Suporte (Operações de Datacenter) - Synapsis Brasil. 
Sócio-fundador do i-TIC Digital Livre - Informação Livre para todos! 
Twitter i-TIC Digital Livre: @iticdigital
TUX-CE Member.
Técnico em Conectividade com Extensão em Desenvolvimento de Software - IFCE (Cefet).
Graduando em Telemática - IFCE (Cefet).
Graduando em Redes de Computadores - Estácio/FIC
Novell Datacenter Technical Specialist.
Linux Professional Institute Certified Level 1.
Novell Certified Linux Administrator (CLA).

Visite: http://osvaldofilho.wordpress.com
           
           http://modestando.wordpress.com

Facebook: Osvaldo Filho
Twitter: @osvaldofilho





reply via email to

[Prev in Thread] Current Thread [Next in Thread]