Kill processo com timeout

0

Eu quero iniciar um programa com tempo limite, como posso matar o processo usando SIGINT e SIGKILL? Se o programa não terminar dentro de 5 segundos, envie SIGINT. Se ainda estiver em execução após 10 segundos (no total), envie SIGKILL.

Eu já fiz timeout - s SIGINT nano; tempo limite -s SIGKILL nano mas não está funcionando, alguém pode me ajudar?

    
por Marc Jasson 10.01.2016 / 20:18

1 resposta

2

O comando timeout tem uma opção de duração que você não está usando.

Pelo manual:

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

De qualquer forma, a construção que você está usando não funcionará. (por exemplo, usando dois comandos separados).

Na verdade, eu recomendo usar o comando timelimit, que é muito mais consistente. Instale-o com:

sudo apt-get install timelimit

Do manual:

timelimit [-pq] [-S killsig] [-s warnsig] [-T killtime] [-t warntime] command [arguments ...]

Links:

timelimit do homem

link

Um exemplo real de uso de um script meu é:

timelimit -q -t1 -T30 command
    
por 10.01.2016 / 20:26

Tags