Como executar um tempo limite “dentro” de um script?

2

Eu tenho um script que contém vários comandos e um deles leva um pouco de tempo. O script normalmente lê um arquivo list.txt e executa os comandos em cada linha. O problema é que algumas linhas demoram muito tempo, então eu quero que o script seja interrompido se ele levar, por exemplo, 3 minutos e ir para a próxima linha. Que solução você propõe? :)

    
por Farbod Shahabi 18.07.2016 / 19:16

1 resposta

2

Existe o comando timeout . Basta colocá-lo antes do comando que você deseja executar e adicionar limite de tempo. Por exemplo:

timeout 3 find  /

Da documentação de info timeout :

‘timeout’ runs the given COMMAND and kills it if it is still running
after the specified time interval.  Synopsis:

     timeout [OPTION] DURATION COMMAND [ARG]...

   COMMAND must not be a special built-in utility (*note Special
built-in utilities::).
    
por Sergiy Kolodyazhnyy 18.07.2016 / 19:45