|
Gestão de Timeouts em Perl |
|
|
|
Gestão de Timeouts em Perl
Os sinais são utilizados para os timeouts em Unix. Protegidos num bloco eval{}, o handler é inicializado para capturar os sinais de alarme e fazer uma determinada acção após alguns segundos.
Exemplo
eval {
local $SIG{ALRM} = sub { die "alarm clock restart" };
alarm 10;
flock(FH, 2); # blocking write lock
alarm 0;
};
if ($@ and $@ !~ /alarm clock restart/) { die }
Se a operação do timeout for system() ou qx() esta técnica pode ser utilizada para criar zombies. Se for importante, deve fazer um fork() e exec() e terminar os processos child.
|
|
|
|
Ponha-nos à prova: coloque-nos questões ou dúvidas sobre Tecnologias de Informação. Quer seja em scripting em Disaster & Recovery (Continuidade de Serviços de Informação), ITIL, Gestão de Projectos, a Importância dos Sistemas de Informação, Bash, Linux, Solaris, Programação Informática, OpenOffice.org, Tecnologias Microsoft, Informática Pessoal ou outros, teremos todo o gosto em responder-lhe GRATUITAMENTE em apenas algumas horas!
Para isso, envie-nos as suas questões / dúvidas através do nosso Formulário.
|
|