O "tempo esgotado”Permite ao usuário executar um comando e depois encerrá -lo após o passar do tempo. Em outras palavras, "tempo esgotado”Facilita a execução de um comando por um certo período de tempo. O "tempo esgotado”O comando está incluído no kit de utilitário do GNU Core, que vem padrão com quase todos os sistemas Linux.
Na redação, passaremos pelos fundamentos deste comando com exemplos.
Sintaxe
O comando "Timeout" tem a seguinte sintaxe:
Timeout [Opção] [Duração] [Comando]
A duração pode estar em números inteiros flutuantes com sufixo de tempo:
s/sem sufixo (quando nenhuma unidade de sufixo é consertada, considere em segundo lugar)Usando o comando "timeout"
Ping no seu sistema com um endereço IP, ele continuará indo até você encerrá -lo pressionando Ctrl+C.
Agora, defina um horário para encerrá -lo usando o comando "timeout". Por exemplo, vou definir o tempo para 7, o que significa que a execução do comando "ping" vai parar após 7 segundos.
Siga o comando abaixo para definir o prazo:
$ timeout 7 ping 192.168.18.213
Definindo tempo limite com outra unidade de tempo
Da mesma forma, podemos ping “Facebook.com ”também, usando:
$ ping no Facebook.com
Para parar o comando "ping" após 1 minuto, digite um comando abaixo do ritmo em um terminal:
$ timeout 1m ping facebook.com
Mostrando status de saída
Muitos programas enviaram um valor/código para o shell quando eles terminam.
Por exemplo, encerrar o seguinte processo antes de atingir seu limite de tempo que é de 6 segundos. Aperte Ctrl+C e verifique o status de saída digitando “Echo $”. Ele retornará "0" na saída:
$ timeout 6 ping facebook.com
Interromper um processo em execução sempre dará um código de saída "0".
Preservar o status
O status de preservação retorna um status de saída, mesmo se o encerramos com força usando Ctrl+C. O comando seria:
$ timeout-Preserve-status 2 ping facebook.com
E para verificar o código de saída, digite:
$ echo $?
Agora, o status de saída será 143.
Enviando sinais para o tempo limite
O comando "Timeout" envia um sinal para o processo para encerrar.
Para verificar os sinais disponíveis, use o comando "Kill":
$ kill -l
Uma lista de todos os sinais disponíveis será exibida.
O "-S" (-Signal) A opção permite que você defina um sinal para dar:
$ timeout -s
O comando "Timeout" usa o "sigterm" para interromper um processo, mas muitos processos ignoram o sinal "sigterm". Para encerrar com força um processo usando o sinal "sigkill", não pode ser ignorado por qualquer processo.
Enviando Sigkill para o comando ping após 2 segundos, digite:
$ sudo timeout -s sigkill ping facebook.com
Você também pode enviar sinais usando um número de sinal em vez do nome de um sinal:
$ sudo timeout -s 9 ping 192.168.18.213
Enviando sinais de morte
O "-K" a opção está sendo usada para encerrar o processo.
No exemplo seguinte, se a conexão não se estabelecer em 2 minutos, ele matará o comando de tempo limite após 3 segundos:
$ sudo timeout -k 3 2m ping facebook.com
No meu caso, o comando de tempo limite será executado por 2 minutos e não será encerrado. Portanto, não matará mesmo depois de 3 segundos.
Conseguindo ajuda
O Linux tem um recurso muito bom que fornece ajuda para cada comando que usamos. Usando "ajuda" Com um nome de comando, ele fornecerá as informações de ajuda em detalhes:
$ Timeout -Help
Versão de verificação
Para verificar a versão do comando timeout, digite:
$ timeout -versão
Conclusão
No sistema operacional Linux, o comando "Timeout" é um utilitário de linha de comando usado para encerrar um processo em execução após um período definido. É usado para os processos que correm continuamente. Além disso, o status de saída dos processos em execução também pode ser acessado usando o comando "timeout". Discutimos comandos de tempo limite através de diferentes exemplos com várias opções.