pare o programa do terminal se estiver rodando por mais de x segundos

2

digitando

/.blabla

Eu inicio o programa blabla. Existe uma maneira, a partir do terminal, para parar (ou seja, equivalente a ctrl + c) blabla foi executado por mais de x segundos? (Eu estou tentando testar um programa do qual eu não tenho a fonte em várias entradas aleatórias, e a coisa fica presa ocasionalmente).

    
por user2413 02.11.2010 / 20:55

3 respostas

3

Use o tempo limite do pacote coreutils nos repositórios:

Instalação: sudo apt-get install coreutils

Uso: timeout [-signal] time command

    
por Clausi 05.11.2010 / 10:39
1

Aqui está uma postagem no blog detalhando várias maneiras de fazer isso: link

    
por Isaiah 02.11.2010 / 21:01
1

Você pode usar sleep para fazer isso:

./blabla &
pid=$!
(sleep TIMEOUT; kill $pid 2>/dev/null) &
sleeppid=$!
wait $pid
kill -HUP $sleeppid 2>/dev/null
    
por Kees Cook 02.11.2010 / 21:19