Como executar comando com limite de tempo no Raspberry Pi

Como executar comando com limite de tempo no Raspberry Pi
Em sistemas baseados em Linux, como o Raspberry Pi, alguns comandos continuam funcionando por um tempo indefinido se um limite de tempo específico não for definido para eles. Como o Raspberry Pi é um dispositivo de baixa potência e manter diferentes comandos em execução por um período de tempo indefinido pode reduzir o desempenho do seu dispositivo.

Para manter esses comandos em execução por uma quantidade específica de tempo, “tempo esgotado”Comando é usado.

Se você não sabe como usar o tempo esgotado Comando no Raspberry Pi, siga este artigo para obter orientações detalhadas.

Como executar um comando com limite de tempo no Raspberry Pi?

Para executar comandos com um limite de tempo, o tempo esgotado A utilidade é usada e a sintaxe abaixo mencionada é usada para ele:

Sintaxe

$ timeout [duração do tempo] [comando] [argumento]

A duração do tempo para o tempo esgotado O comando pode ser em segundos, minutos ou horas e se a unidade de tempo não estiver definida, considera o tempo em segundos por padrão. Os sufixos usados ​​para a duração do tempo são:

s => Segundos
m => Minutos
h => Horas

O objetivo de executar comandos com o limite de tempo

Existem certos comandos no Raspberry Pi que correm por um período de tempo ilimitado e eles não vão parar a menos que sejam encerrados manualmente, pressionando as teclas Ctrl+c. Um exemplo desse comando é quando você pula o endereço IP do seu Raspberry Pi:

$ ping

Na saída, você pode ver que continua correndo e não está terminando por conta própria.

Portanto, para executar esse comando por um período limitado, um utilitário de tempo limite é usado e o período é predefinido com o comando. Agora vamos executar o mesmo comando ping para 3s usando o timeout:

Exemplo 1

$ timeout 3s ping

Na saída, você pode ver que o comando terminou em 3 segundos:

Exemplo 2
Agora vamos correr o tempo esgotado Comando com duração de tempo em minutos para ping em um endereço da web:

$ timeout 1m ping linuxhint.com

Na saída, você verá que o comando continua funcionando por 1 minuto:

Exemplo 3
Como mencionamos anteriormente que se nenhum sufixo unitário for mencionado durante a duração do tempo, então, por padrão, ele considera segundos como a unidade. Então, vamos executar um comando de exemplo para este caso:

$ timeout 15 ping linuxhint.com

Usando o status de preservação com o comando de tempo limite

O status da preservação é usado para retornar o comando status de saída; mesmo que o comando seja encerrado usando com força Ctrl+c chaves.

$ timeout-Preserve-status 5 ping linuxhint.com

Você pode usar o comando abaixo mencionado para obter o código de saída:

$ echo $?

Run Timeout Command em primeiro plano

Por padrão, o comando de tempo limite é executado em segundo plano, no entanto, se um usuário estiver interessado em executar um comando interativo que requer entrada dos usuários, ele pode executar o comando de tempo limite em primeiro plano usando o seguinte comando:

$ timeout -paraformound 5 ping 192.168.18.2

Matando um processo preso

Às vezes, um comando continua executando seu sistema, mesmo que você queira encerrá -lo no seu sistema. Para ajudá -lo com isso, você pode usar o seguinte comando para interromper o processo em um determinado prazo.

$ sudo timeout -k 10 1m ping 192.168.18

O comando acima para automaticamente quando o prazo definido é alcançado, pois você não pode impedi -lo de usar “Ctrl+c”.

Para obter ajuda com o utilitário de tempo limite

Se em algum momento você sentir a necessidade de verificar diferentes opções disponíveis, ou até precisar de ajuda com a sintaxe de comando, poderá executar o comando de ajuda abaixo mencionado para obter ajuda:

$ Timeout -Help

Conclusão

Para usuários de Raspberry Pi, existe um utilitário de linha de comando muito útil conhecido como tempo esgotado, o que lhes permite executar os comandos com o limite de tempo específico. Existem diferentes maneiras de usar o tempo esgotado utilidade, que já está discutida nas diretrizes acima. Os usuários podem executar diferentes comandos de acordo com sua exigência. Todos esses comandos são úteis na configuração de um limite de tempo definido para executar os comandos em um sistema Raspberry Pi.