Executando comandos Linux com o timeout
Dica publicada em Linux / Comandos
Executando comandos Linux com o timeout
O Linux possui um utilitário de linha de comando chamado timeout, que viabiliza a execução de comandos, com um limite de tempo pré-determinado.
Segue a sintaxe deste comando:
timeout DURATION COMMAND ...
Para utilizar esse comando, você deve especificar o valor do "timeout" em segundos, junto com o comando Linux que será executado. Por exemplo, para executar o comando "ping" durante 6 segundos, os dois comandos abaixo são válidos:
timeout 6s ping -4 vivaolinux.com.br
ou:
timeout 6 ping -4 vivaolinux.com.br
Observe que não é necessário colocar 6s, já que o tempo padrão é em segundos. Existem outros prefixos que podem ser utilizados para definir o tempo em minutos, horas ou dias:
Em alguns casos, com alguns comandos, eles continuam sendo executados depois do tempo definido no "timeout". Nessas circunstâncias, você pode utilizar a opção "--kill-after".
Segue a sintaxe dessa opção: -k, --kill-after=DURATION
Ao utilizar a opção "--kill-after", é necessário enviar também a duração do "timeout", como exposto anteriormente, para que o comando saiba quando o sinal de "kill" deve ser enviado.
Segue a sintaxe deste comando:
timeout DURATION COMMAND ...
Para utilizar esse comando, você deve especificar o valor do "timeout" em segundos, junto com o comando Linux que será executado. Por exemplo, para executar o comando "ping" durante 6 segundos, os dois comandos abaixo são válidos:
timeout 6s ping -4 vivaolinux.com.br
ou:
timeout 6 ping -4 vivaolinux.com.br
Observe que não é necessário colocar 6s, já que o tempo padrão é em segundos. Existem outros prefixos que podem ser utilizados para definir o tempo em minutos, horas ou dias:
- m - representa minutos
- h - representa horas
- d - representa dias
Em alguns casos, com alguns comandos, eles continuam sendo executados depois do tempo definido no "timeout". Nessas circunstâncias, você pode utilizar a opção "--kill-after".
Segue a sintaxe dessa opção: -k, --kill-after=DURATION
Ao utilizar a opção "--kill-after", é necessário enviar também a duração do "timeout", como exposto anteriormente, para que o comando saiba quando o sinal de "kill" deve ser enviado.