Como você marcou a pergunta como Linux, você pode usar flock
para bloquear um arquivo conhecido:
flock "${TMPDIR:-/tmp}"/some_name.lock /path/to/your_command -options
Uma segunda instância do comando (executada da mesma maneira) aguardará até que a primeira instância termine. O problema dessa abordagem é que, se o comando levar mais de uma hora, você acumulará mais e mais instâncias aguardando o bloqueio.
Como alternativa, você pode simplesmente ignorar a execução de uma segunda instância, se a primeira não tiver terminado:
flock -n "${TMPDIR:-/tmp}"/some_name.lock /path/to/your_command -options
O problema com essa abordagem é que você pode executar o comando menos que 24 vezes por dia.