Bóson Treinamentos em Ciência e Tecnologia

Pausar processos com temporização com o comando sleep no Linux

Temporizar processos no Linux com comando sleep

Pausar processos com temporização com o comando sleep no Linux 

O comando sleep, no Linux, é empregado para pausar um processo por um período de tempo especificado na forma de um ou mais argumentos passados a ele. Esse tempo pode ser especificado em segundos (padrão), minutos, horas ou dias.

Sintaxe

$ sleep numero [opções|unidades]...

Onde numero é um valor inteiro positivo, seguido por uma unidade de tempo opcional. Se a unidade de tempo não for especificada, será assumida como sendo tempo em segundos, por padrão.

As unidades aceitas pelo sleep são as seguintes:

É possível passar mais de um valor de tempo ao comando, e nesse caso os valores são somados automaticamente para resultar no valor da temporização final.

No lugar de numero também é possível usar a palavra inf, que significa pausa infinita.

As únicas opções disponíveis para o sleep são –help (para ajuda do comando) e –version (consultar versão).

Para que usamos exatamente o comando sleep?

O comando sleep pode ser usado em diversas tarefas em um sistema Linux, tais como:

Entre outras.

Exemplos do comando sleep

Pausar por 10 segundos:

$ sleep 10

Pausar por 5 minutos:

$ sleep 5m

Pausar por 1 minuto e 30 segundos:

$ sleep 1m 30s

Pausar infinitamente:

$ sleep inf

Pausar por 300 milissegundos:

$ sleep 300e-3

Neste exemplo, 300e-3 significa 300 x 10-3, ou seja, 300/1000 = 300ms

Gerenciamento de tarefas em sequência

Podemos criar um script que execute tarefas em sequência, mas com intervalos temporais definidos:

#!/bin/bash
./processo1.sh
sleep 30 # Aguarda 30 segundos antes de iniciar o próximo processo.
./processo2.sh

Repetição com intervalo de tempo em loops

Também podemos usar o sleep para inserir pausas em scripts que realizem repetição de tarefas:

while true; do
  echo "Verificando servidor..."
  sleep 10 # Aguarda 10 segundos antes de repetir.
done

Conclusão

O comando sleep, como visto, é uma ferramenta simples, porém bastante útil no Linux, especialmente quando usado em scripts e para automação de processos.

Com ele podemos temporizar execuções, economizar recursos e sincronizar processos em sistemas e aplicações.

Sair da versão mobile